2

X は、参照したいgit rebase -i HEAD~X以前のコミットの数です。

しかし、ブランチで作業していて、コミットしたとします。次に、別のブランチに切り替えて、そこでいくつかの作業を行います。あなたはこれを数日間やり続けます。

最終的に、ブランチの 1 つをスカッシュしたい場合、それを行うことはできません。これは、次のようなことを行うとHEAD~3、別のブランチからのコミットが参照されるためです。

私の質問は本当に次のようなものだと思います:関連のないコミットも押しつぶさずに、ブランチ上のすべてのコミットを押しつぶすにはどうすればよいですか?

4

1 に答える 1

3

HEAD~3 は、作成したのと同じ順序 (壁時計時間の順序) で 3 つのコミットを戻すことを意味すると信じているように感じます。そうではなく、現在のHEADの3代目の先祖で、初代の親だけに続くという意味です。

ブランチをどのように切り替えるかはまったく問題ではありません。

于 2013-01-25T19:09:28.843 に答える