2017-06-07 10 views
0

私の使用例はとても普通です。コミットを元に戻し、さらにコミットした後でも変更を加えてください。

ビルドシステムを経由してコミットを追加しました。ビルドシステムに対するいくつかのコミット後テストは失敗しました。システムは、そのようなコミットを元に戻すように構成されています。

したがって、システムにはReverting back revision my-commitも追加されました。

ここで、ビルドを修正するための修正を追加しました。しかし、他の誰かが私が私の中に押し込める前に、うまくいった復帰の上に2つのコミットを作った。

だから今、私の状態は次のとおりです。

$ git log 

commit good-commit1 
author: good-dev1 
... 

commit good-commit2 
author: good-dev1 
... 

commit good-revert-commit 
author: system 
... 

commit my-bad-commit 
author: me 
... 

私はmy-bad-commitでを変更両方good-commit1good-commit2変更ファイル。

my-bad-commitの上に自分の修正プログラムを追加する方法、またはgood-revert-commitを元に戻して修正プログラムを追加してから、他の開発者の良いコミットを再適用する方法はありますか?

:私たちのシステムでは、マスターブランチに-f(強制プッシュ)を許可していません。

+0

あなたの 'master'ブランチは強制プッシュが許可されていないので、' git revert'をコミット履歴の先頭だけで使うことができます。そうでなければ、 'git rebase -i'を使うか、現在の' master'ブランチなどを置き換えることができます。 –

+0

答えがあなたの問題解決に役立ちましたか?はいの場合は、それに印を付けてください。それは、同様の質問をした他の人を助けるでしょう。 –

答えて

1

だけ

git revert good-revert-commit -n 

-nで復帰を元に戻すには、ここに--no-commitの同義語です。

変更がインデックスにある場合は、git add追加の変更がコミットとプッシュを完了します。

関連する問題