2017-07-25 3 views
2

私は、git pullのメソッドではなく、git fetchのメソッドを使用することを好む開発チーム、そしての作業を行いました。結果のgitツリー構造とは別に、git pullとgit rebaseの間に重要な違いはありますか?

ビジュアルツリー構造の違い以外に特別な理由はありますか?

が、2つの方法の間

は、他の上で1つを選択する他の理由がある http://mattsnider.com/git-rebase-versus-git-pull/ fetch & rebase

によると、「余分なマージコミットせずに、クリーンな歴史を作るだろうか」?

+0

2番目のステップとして 'git merge'を使用します。結局、* operation *に大きな違いはありませんが、 'git pull'は実際には2つのステップが含まれているという事実を隠すことで*人間*そしてその第二のステップ。 'pull'コマンドは同じ人為的な失敗のため構文的に危険です。' git pull origin b1 b2'を実行してタコのマージを行うのは簡単ではありません。それは実際にはありません。 – torek

+0

'git merge'は、早送りマージでないときにマージコミットを作成します。マージコミットは 'commit-msg'のようなフックを起動しません。いくつかのケースでは、コミットするたびに何かを行うために 'commit-msg'が必要な場合、マージコミットはあなたがそれを修正しない限り無視されます。 – ElpieKay

答えて

1

git pull = git fetch + git merge

git pull --rebaseまたはgit pull -r = git fetch + git rebase

これ以上、劣ら;-)魔法はありません。 これで2番目のことができます。

フェッチとリベースを2つの異なるステップで実行する主な利点は、最初にローカルブランチを変更しないことです(リスクは絶対にありません)ので、毎回実行することができます定期的に)。

あなたが代わりに `Gitのrebase`を実行するために、` Gitのpull`を設定することができ

そして取り込まれた後、あなたは、歴史を見て、あなたのコミットと比較して、あなたがたときに行うとしたいのか決めることができました...

関連する問題