gitのマージは、マルチブランチおよびコードを作成します

逐語大きな柱  https://www.dazhuanlan.com/2019/08/26/5d633a29ee4c5/


使用して、コードベースの新バージョンgithubの、その他のライブラリークローンから通常の遠隔我々

git clone username@xxx:/xxx/xxx.git

ダウンデフォルトのクローンはマスターブランチ、ない他のブランチです

我々は使用することができgit branch -a、ローカルとリモートを含め、すべての枝を表示します

(あなたが唯一、ローカルブランチを参照してください使用している場合git branchのみ、リモートブランチを表示するコマンドを使用git branch -rコマンド)

チーム開発では、我々は多くの場合、複数のブランチを作成する必要があり、それぞれが別のブランチ上で開発して、コードをマージ

リモートブランチの設立

チームメンバーが使用するためのチームは、最初の支店を作成した場合

これは、リモートブランチにローカルに作成され

あなたは直接DEVという名前の枝を想定して、ローカルブランチを作成することができます

git branch dev

そして、リモートリポジトリのDEVの現地支店に提出

git push origin dev

次のビューリモートブランチ

git branch -a

リモートブランチは、それぞれのブランチで作成された後、チームのメンバーが開発します

リモートブランチに切り替え、他のブランチをマージ

まず、開発の前に、とgit branch -aビューリモートブランチ、その後、起源は/ devリモートブランチに切り替え、そして地元のdevに新しいブランチ

git checkout -b dev origin/dev

同時に、リンクローカルおよびリモートブランチdevのdevの支店を設立

そして、ローカルブランチdevの開発者は、開発後(これらの操作は省略されているコミット追加)リモートブランチをプッシュします

git push origin dev

たとえば、今、あなたは、このようDEV2など他人のコード分岐をマージすることができますしたいです

(ローカルその後、DEV2コードを引っ張って、ブランチを作成します)

git checkout master
git branch dev2
git checkout dev2
git pull origin dev2
git add .
git commit -m "合并分支"

この操作は、ローカルのブランチDEV2にラインをプッシュすることを余儀なくされているため、推奨、および非友好的な関連付けられていません

または(直接ローカルブランチをリモートブランチと関連する引上げ)

git checkout -b dev2 origin/dev2

変更と支線が分岐ラインコードDEV2を組み合わせDEV2場合DEVは次いで、ブランチに戻します

git checkout dev2
git pull origin dev2
git checkout dev 
git merge dev2

あなたはDEV2へのdevのコードを更新している場合

git checkout dev
git pull origin dev
git checkout dev2
git merge dev

作成し、ローカル支線にアップデート

git branch dev3
git push origin dev3

gitのフェッチ

私たちは分岐鎖状のローカルブランチラインを引くと比較を行う場合は、確認のマージコードの後に​​、使用することができます

git fetch origin master:tmp
git diff tmp 
git merge tmp

上記のコードローカルブランチTMPをプルアップし、その後、既存のブランチの変更のローカルブランチとTMPを表示マスターに起動し、分岐TMPをマージします

最新バージョンは、gitのプルに似て取得し、リモートからローカルへのマージ

git pull origin master

あなたは一時的な枝線を作成する場合は、リモートブランチの場合を見てする必要があります

また、使用することができますgit fetch降ろさドラッグさ、リモートサーバー上のすべての更新を

その後、ローカルで使用git branch -aすべてのブランチを見て

削除された枝

ローカルブランチを削除します

git branch -r dev3

コードの存在下で分岐を削除、削除大文字Dの力を使用して、コミットされていない場合を変更します

  git branch -D dev3 

リモートブランチを削除します。

git branch -r -d origin/dev3
git push origin :dev3

ブランチを切り替えるコミット提出しません

我々は同時に、2つの機能ブロックを開発する二つの枝を使用するときは、いつでも切り替える必要があるかもしれません

そして、完成していないの前提の下で開発された現在のブランチへの変更は、ありますが、コミット操作するためのコードを提出する必要はありません、スイッチングブランチは失敗します

開発がコミットする準備ができて終了した場合、変更は他の支店に提出される、混乱を引き起こします

この場合、最善の解決策は、現在のブランチ上で実行されるgit stashコマンドを、現在のブランチには、最大保存されます

実行ができた後git status、彼らは成功したストレージであることを確認し

新しいブランチでの機能開発が完了された後、あなたが作成し、メインブランチマスターの機能を開発するために、別の新しいブランチに切り替えることができ、我々は、枝の上に戻します

git stash listの「メモリ」の私たちのリストをチェックアウトするためのコマンド

そして、使用git stash popストレージスタッシュリストの内容を復元しながら、最近保存され、また、削除されたのリストを復元するためのコマンドを

ローカルロールバック

それは、すでに地元の倉庫ストアにコミットを指しますが、リモートにプッシュしていませんでした

git reset --hard   22f8aae

バージョン番号がコミット22f8aaeは、使用することができますgit lig表示します

リモートロールバック

あなたはを参照することができますブログ

バグ修正

使用gitのは、タイムズ紙は無関係履歴をマージすることを拒否引き押しタイムズプッシュは拒否:起源/マスターへのプッシュが拒否されました

次のコマンドを使用して操作を引い

Gitは--allow-無関係-履歴を[ブランチ名を引っ張って] [あなたのリモートリポジトリのアドレス]を引っ張ります

として

git pull [email protected]:lulujianglab/react-router-demo.git master --allow-unrelated-histories

おすすめ

転載: www.cnblogs.com/petewell/p/11411153.html