リモートリポジトリを念頭に置いて、これを説明できる人はいますか?
2 に答える
git pull --rebase
開発ブランチを最新の状態にしたい場合に使用する方法です。これらのブランチは通常、他の人には公開されません (おそらくそれを確認する場合を除きます)。などなど。
git merge
マージを実行します。詳細については、マンページを参照してください。コマンドには、ここで説明するには多すぎるオプションがたくさんあります。
git rebase
リベースを実行します。つまり、履歴を書き換えます。他のブランチから分岐するところまでコミットを行い、それらを一時的に削除し、他のブランチから不足しているコミットを適用してから、コミットを再適用します。git rebase
特定のコミットを削除/変更/結合 (スカッシュ) できるインタラクティブモードもあります。
http://learn.github.com/p/rebasing.htmlを見て、リベースがどのように機能するかについてのいくつかの素晴らしいグラフを見てください。
git rebase
分岐したポイントからブランチを切り離し、他のブランチの上に再接続することができます。git merge
代わりに、履歴を再プラグすることなく、現在のブランチの別のブランチからの変更を単にマージしています。
競合がなければ、マージとリベースの結果は同じですが、履歴は異なります。
(merge branch on master):
master --A--B--C--E
/
branch --D
(rebase branch onto master):
master --A--B--C--D'
最初のケースでは、マージによってbranch
ブランチが作成され、 にマージされmaster
、マージ コミットが作成されE
ます。2 番目のケースでは、D
は単純に に再接続されmaster
、別のコミットが作成されD'
ます。
git pull --rebase
リモートから変更を取得し、その上に変更をリベース (再プラグ) します。リモートにない変更を文字通り記録し、取得した最後の変更から再生します。