私はそのような独特のコミットログを持っています、
A --> B --> C --> D
ここで、各文字はコミットです。CはBの復帰であるように見えるので、基本的に履歴は次のようになります。
A --> D
BとCのコミットを「合計」する方法はありますか?変更はまだプッシュされていません。
私はそのような独特のコミットログを持っています、
A --> B --> C --> D
ここで、各文字はコミットです。CはBの復帰であるように見えるので、基本的に履歴は次のようになります。
A --> D
BとCのコミットを「合計」する方法はありますか?変更はまだプッシュされていません。
TODO リストのおよびコミットをgit rebase -i HEAD~3
表す行を実行および削除し、リベースを実行できます。B
C
インタラクティブなリベース以外の簡単な方法は次のとおりです。
git reset --hard A # reset current branch to A
git cherry-pick D # transplant commit D here
CD がコミットの全範囲である場合により適切に機能する、より一般的なコマンドもあります。
git rebase --onto A C # transplant C..D onto A
これを行う最も簡単な方法は、リセットを使用することです。
git reset --soft HEAD^^^
git add -A
git commit -C HEAD@{1}
最初のコマンドは、作業ツリーを D のように維持しながら、A を現在のコミットにします。次のコマンドで作業ツリーの状態をステージングします。次に、コミット D (HEAD は 1 時間前) からのメッセージを使用してコミットします。