8

リモートリポジトリを念頭に置いて、これを説明できる人はいますか?

4

2 に答える 2

9

git pull --rebase開発ブランチを最新の状態にしたい場合に使用する方法です。これらのブランチは通常、他の人には公開されません (おそらくそれを確認する場合を除きます)。などなど。

git mergeマージを実行します。詳細については、マンページを参照してください。コマンドには、ここで説明するには多すぎるオプションがたくさんあります。

git rebaseリベースを実行します。つまり、履歴を書き換えます。他のブランチから分岐するところまでコミットを行い、それらを一時的に削除し、他のブランチから不足しているコミットを適用してから、コミットを再適用します。git rebase特定のコミットを削除/変更/結合 (スカッシュ) できるインタラクティブモードもあります。

http://learn.github.com/p/rebasing.htmlを見て、リベースがどのように機能するかについてのいくつかの素晴らしいグラフを見てください。

于 2012-04-27T07:16:18.820 に答える
7

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リモートから変更を取得し、その上に変更をリベース (再プラグ) します。リモートにない変更を文字通り記録し、取得した最後の変更から再生します。

于 2012-04-27T07:11:47.893 に答える