2016-06-24 20 views
7

git pull --rebasegit rebaseの違いはわかりませんが、他のオプションはありません。git pull --rebaseとgit rebase:危険は何ですか?

私は彼らが安全であるか、良い習慣であるか、または非常に危険であるか分かりません。

ローカルでgit pull --rebaseを実行すると、コミットの履歴を破ることはできますか?

+0

http://stackoverflow.com/questions/18930527/difference-between-git-pull-and-git-pull-rebase – ashishmohite

+0

'git rebase'は最初に' fetch'を実行しません。 – choroba

答えて

7

プライベートブランチだけでリベースするのはまったくお勧めできません。 私的私はあなたが引っ張っただけであることをあなたが確信していることを意味します。

リベースはブランチの開始点を新しいコミットに変更し、その時点までのすべてのコミットをマージします。これにより、リポジトリに古いブランチ・ベースを持っていた人たちとの衝突をマージすることができます。プレーンマージを常にお勧めし、特定の状況(たとえば、機能ブランチ)に対してのみリベースを残しておきます。あなたの質問について

  • Gitのリベースは、あなたがしたいブランチをリベース。
  • git pull --rebaseは、取り出したブランチでフェッチ+リベースを実行します。通常、プルは+マージをフェッチします。
+0

だから、git pull --rebaseは安全ですか? – sab

+0

どの意味で安全ですか? rebaseは開始点を変更しますが、git pull --rebaseは大規模なrebaseを行います。共有ブランチでリベースすることはお勧めできませんので、git pull --rebaseはお勧めしません。代わりに単純なgit pullを実行します。 – Luis

7

git pull --rebasegit fetch、その後、平野git rebaseの省略形ですので、唯一の違いは、それが唯一の希望として後者のみを適用すること、の上にあなたのコードをリベースするリモート前から、新しいコミットをフェッチしないだろうということですあなたのリポジトリが既に認識しているものを考慮に入れてください。

関連する問題