2017-01-04 24 views
5

私は自分のフィーチャーブランチで未処理のコミットを作りました。そして今や、再コミットし、所属するコミットを視覚的にスカッシュしたいと思っています。私は解決策は何とかGitインタラクティブにあると思うが、それを呼び出す方法は?Git rebase対話型最後のnコミット

$ git rebase --interactive --onto <the-ID-of-the-first-commit-to-rewrite> 

だけコメントした情報に続いて

noop 

コンテンツでVIをポップアップします。終了後、私の頭は指定されたコミットにリセットされます。

特定のコミット以降にコミットを変更するための対話型リベースを正しくトリガーする方法はありますか。

+0

これを正しくトリガーしています。使用方法を学ぶだけで済みます。コメントアウトされたセクションを読んで、あなたがすべきことについての簡単な説明が含まれています。 – Maroun

+0

f @ MarounMaroun:彼は正しいコマンドを起動していません。 –

答えて

9

あなたは<sha1>が最初にあなたが書き換えたいコミットのSHAあってもよいが、ないはず

git rebase --interactive <sha1> 

を使用する必要があります直前のコミットのsha。

あなたの歴史はこのように見える場合:

pick 43576ef last commit 
... 
pick 5116d42 first commit to rewrite 
pick cb85072 last good commit 

、あなたがリベースするどのコミットを示すために様々な方法があることができます。

git rebase -i cb85072 
git rebase -i 5116d42^ 

  • ^手段直前のコミット。
  • -i--interactive
+0

問題を引き起こしたように見えるように見えます。 –

1

私はあなたの指示で行動rebaseを欠場:

git rebase -i <id-of-commit> 
+0

はい、タイプミスでした。私はその問題を解決しました。 –

6

あなたはまた戻ってあなたの最後のステップのコミットのいくつかの数でコミットできるためわずかです。たとえば、最後の5つのコミットをリベースする場合は、次のコマンドを使用できます。 git rebase -i HEAD~5

関連する問題