2016-10-08 8 views
-2

4つのコミットを1つの統合コミットにスカッシュさせたい場合。4つのコミットを縮退する - `rebase master -i`または` rebase -i`

どのコマンドを使用しますか?

私はそれらの違いを理解しようとしましたが、私が間違っている場合は私を修正してください。

git rebase -i HEAD~4 

これは、プッシュされなかったすべてのローカルコミットを含むエディタを開くだけですか?

私は押す前にそれらを押しつぶすことができますか?

対実際にローカルブランチにマスタからリベースん

git rebase master -i 

ここで私はすでにプッシュされたマスター・コミットを見て、それはそれらを押しつぶすことは良い考えではありませんが。これは避けなければなりませんか?

+2

900の質問の後、私はあなたがこのサイトの仕組みと特定の質問のしくみを理解することを期待します。 – PeeHaa

+0

申し訳ありませんが早すぎて私の質問を編集しました –

+0

私はあなたのポストに4つの疑問符を数えます。あなた自身でそれらのいくつかを解決しようとしましたか?出力は何でしたか?なぜあなたの質問に答えなかったのですか? – PeeHaa

答えて

0

マスタ(または他のブランチ)をリベースすると、指定したブランチのコミットを現在のブランチにインポートするときに、コミットを変更することができます。 rebase -iのみ現在のブランチ履歴のみを編集している場合。 エディタはブランチの履歴で何をしたいのかを尋ねます。そこにはコミットを削除したり、コミットを抑制したり、順序を変更したりすることができるからです。あなたの特定のケースで 、あなたがする必要があります:あなたはgitのベースからスカッシュにコミットする必要があり、あなたが4スカッシュしたいことから、その後、5があなたの番号であるため、HEAD~5からリベースしたい

$ git rebase -i HEAD~5 

エディタ画面では、スカッシュの状態を確認し、状態をpickからsquashに変更します。 それだけです。

関連する問題