私はさまざまな機能を備えた複数のブランチを持っています。通常、私はそうのようなマスター+機能Aが含まれているいくつかの余分な枝「not_master」を持っているでしょう:Gitのマージを元に戻しますが、後で変更を保存し、履歴を書き換えます。
(not_master) a--b--c--d--e---M--x--y--z
(feature A) --h--i--j-/
は、時々私は、機能Aの結合を解除したいのですが、「not_master」でx,y,z
をコミットし続けます。言い換えれば
、私はこれをしたいと思います:
(not_master) a--b--c--d--e--x--y--z
を、私は私が私の変更を元に戻し最後にコミット追加されますgit revert -m 1 M
を行うことができていることがわかり、私は本当にしたくありませんこれらのコミットはまだ公開されていないので、より多くのコミットを追加することで、履歴を読みにくくすることができます。
他の人はgit reset --hard M
を実行することをおすすめしますが、それはx,y,z
の変更をダンプします。私はちょうどこれについて完全に間違った方法を考えていますか?私はちょうどgit reset --hard M
と桜はx、y、zを選ぶべきですか?
フムの歴史の中で
結果、私はこれを試してみたが、Gitのリベースは、実際にコミットをマージ表示されません。だから、基本的にh、i、jを追跡して、git rebaseでそれらを削除しなければならないでしょう。 – KarateSnowMachine
うわー、それは面倒です。追加した別のコマンドを試してください。 ( '--force-rebase'も必要です)。 – wnoise
うわー、魅力的に働いた。試しても、ありがとう!私はgit-rebaseのマンページを読もうとしていましたが、私は少し心が壊れたと思います。私はこのようなもののためのマージの代わりにリベースをやるつもりだと思うので、これらのインターリーブされたコミットをすべて持っているわけではありません.... – KarateSnowMachine