2016-12-20 4 views
0

もし私がgit rebase -i HEAD~nをやっているのであれば、ちょうど潰れているのでしょうか、それとも何らかのマージ/リベースをしますか?私は後でgit pull --rebaseのような何かをする必要はないという印象を受けています。git rebase -iを実行すると、あらゆる種類のマージが行われますか?

+2

'git rebase -i HEAD〜n'はエディタを開いて、何をすべきかの指示のリストを提供することができます。あなたはそれにどんな指示をしていますか?デフォルト?他に何か? –

答えて

0

git pull --rebaseは、git fetch + git rebaseとなります。 git rebaseを直接実行している場合は、git fetchのステップを実行しません。

したがって、追跡されたブランチで最新のHEADに更新する場合は、git fetch + git rebase -iを実行する必要があります。 git rebase -i HEAD~nを使用すると、ブランチの最後のnコミットが書き換えられます。追跡されたブランチはまったく関与しません。

0

git rebase -i HEAD~nがコミットしているかどうかは、Gitに何を指示するかによって異なります。このコマンドは、あなたが指定したコミットのリスト(HEAD~nの子はHEADまで)を持つデフォルトのエディタを開き、Gitにそれぞれの処理方法を伝える必要があります。デフォルトのアクションはそれを選択することで、何もしないで再適用します。したがって、デフォルトから何も変更しない場合、コミットのリストにマージがある場合を除いて、実質的に何も変更されません。マージはデフォルトでは無視されるため、このコマンドはマージを削除し、代わりに履歴を線形にします。しかし、あなたが何をしているのかを知っているなら、マージを無視しないようGitに伝えることもできます。

関連する問題