5

私は最近、リリースブランチをマスターにマージし、jgitflow:release-finishを使用して開発を完了しました。ビルドは成功しました。jgitflow:release-finishはリリースブランチを削除していません

enter image description here

しかし、今、私はjgitflow:releast-startを使用して新しいブランチを作成しようとしています。しかし、それは以下のエラーを与えています。

[ERROR] Failed to execute goal external.atlassian.jgitflow:jgitflow-maven-plugin:1.0-m5.1:release-start (default-cli) on project <XXXXXXX>: Error starting release: Error starting release: a release branch [refs/remotes/origin/release/1.0.1] already exists. Finish that first! -> [Help 1] 

私はjgitflow:release-startを実行したとき、それは私に以下の質問をして、私は1.0.2とそれに入りました。

What is the release version for "XXXXXXX"? (org.XXX.automation:XXXXXXX) [1.0.2]: 1.0.2 

ただし、それでも以下のエラーが発生しています。私は困惑している。

質問

  • 我々は手動リリース1.0.1ブランチを削除すべきか?
  • はいの場合は、履歴を失います。それを維持する方法はありますか?
+0

すべてのブランチを削除することで(リモートでも)動作していることを確認できます。一時的にリリースブランチを持つことはGitの哲学の一部なので、削除するのは悪くないかもしれません(マージされたコードは失われません)。 –

答えて

3

1)リリース1.0.1ブランチを手動で削除する必要がありますか? 2)はいの場合、私は歴史を失うでしょう。それを維持する方法はありますか?

gitflowによると、リリースブランチを後で削除する必要があり、一時的な枝であることを意味している。このMavenプラグインの背後にある哲学は、:

今、私たちは本当に行われ、リリース枝を除去することができます、私たちはもうそれを必要としないので、:リリースの準備とcomplitionため

$ git branch -d release-1.2 
Deleted branch release-1.2 (was ff452fe). 

変更は、その変更の履歴がほとんどであるため、マージされています無関係のケースのgitflowのバリアントが(しかし、明らかに直接プラグインによってサポートされていない)として

しかし、異なるアプローチが可能です:developブランチからの長い生活のリリースのすべてのリリースのために使用された分岐、およびrebaseそれを維持する代わりに、新しいを作成します1つはリリースの準備/実行準備ができているときです。

リリースを終えた後、リリースブランチを保持するかどうか:


release:finish目標はkeepbranchオプションを提供していることに注意してください。

デフォルト値はfalseであるため、デフォルトではリリースブランチを保持してはいけません。

+0

返事をありがとう。しかし、私は 'keepbranch'オプションを手にしていません。ローカルとリモートのリリースブランチを削除しているはずです。 –

関連する問題