2017-01-04 8 views
0

その他戻すと再オープンマージされたプル要求する機能が要求されてきた戻った機能ブランチのためのオープンPR:私は同様の問題に直面していますhttps://jira.atlassian.com/browse/BSERV-3218スタッシュ:以前にスタッシュコミュニティの

を、しかし私ドンStashはPRを元に戻す方法を提供していないことに注意しています。私が持っている問題は、Stashは、以前にマージされた後、元に戻ったフィーチャーブランチに対して新しいPRを開くことを許可しないということです。

シナリオ:

  1. (コミット0100で)developに基づいて枝feature/US-123を作成
  2. (0201と0202をコミット)機能ブランチにいくつかのコミットを作成します(developに他のいくつかの機能ブランチをマージ今すぐコミットする0105)
  3. 公開PRのfeature/US-123 -> develop
  4. PRを受け入れてマージし、開発時に新しいマージコミットを作成する元に戻すには新しいブランチにコミット(feature/US-123-revert)を押して、
    • プッシュ元に戻すには、直接、好ましく
    • を開発したりすると:
    • は(git revert -m1 0106
    • いずれにマージされた機能を元に戻すことを決定(0106コミット)オープン/ OPEしよう
    • (追加変更して、おそらく)feature/US-123を再導入することを決定
  5. を開発するためのPRをマージn feature/US-123 -> developの新しいPR;そのスタッシュは、これらのコミットはここで間違って何もはやdevelop

であるにもかかわらず、新しいPRの元のコミットを表示しませんか?
私の誤解ですか?
私のシナリオではこれが問題ですか?
これは実際にはちょうど迷惑なStashの不足ですか?

これを軽減する方法はありますか?これまでのところ私がしている:develop

  • リベースfeature/US-123はそう差し戻しがコミット機能ブランチの履歴に含まれています。私たちの現在のgitワークフローは、いくつかのシナリオでフィーチャーブランチのリベースを禁止しているので、これをしないことをお勧めします。
  • 前のシナリオでは、新しいブランチfeature/US-123-rebaseを作成してください。
  • 元のマージコミットを再導入するために復帰コミットを元に戻し、必要に応じてフィーチャブランチに追加のコミットを追加します。
  • 他にもありますか?
+1

これらの古いコミットは、マージコミットを元に戻したとき(UIを使用している場合やリバートコミットを作成している場合)に、それらの変更を削除した新しいコミットを作成したばかりです。したがって、これらの変更を元に戻すことはできますが、元のコミットは存在するはずです。 – Deep

答えて

0

私が正しく理解していれば、これは期待どおりの仕事をしているGitです。最初のフィーチャーブランチが最初にマージされてから移動していないと仮定していますので、ツリー内にまだ存在していないブランチからのコミットはありません。

これを回避するには、開発から新しいブランチを作成し、前のブランチからコミットをチェリーピックしてからプルリクエストを作成することをお勧めします。

関連する問題