7

以前に正常にリリースされた Maven プロジェクトでリリースを実行しようとしています。

実行するmvn release:prepareと、リリース タグ、新しいスナップショット タグ、およびプロジェクト ビルドの入力を求められます。

しかし、リモートにプッシュしようとすると、

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project NeuralAnalysis: Unable to tag SCM [ERROR] Provider message: [ERROR] The git-push command failed. [ERROR] Command output: [ERROR] To ssh://gitosis@10.41.129.2/NeuralAnalysis.git [ERROR] ! [rejected] NeuralAnalysis-1.5.6 -> NeuralAnalysis-1.5.6 (non-fast-forward) [ERROR] error: failed to push some refs to 'ssh://gitosis@10.41.129.2/NeuralAnalysis.git' [ERROR] To prevent you from losing history, non-fast-forward updates were rejected

実際、 git push ssh://gitosis@10.41.129.2/NeuralAnalysis.git NeuralAnalysis-1.5.6手動で実行しようとしても、同じ苦情で終了します。

実行git pullすると「既に最新」と表示されます。git branch私が「マスター」にいることを示しています。git push origin「すべて最新」を提供します。

Tower を使用してリポジトリを見ると、「master」、「origin/master」、および「NeuralAnalysis-1.5.6」はすべて同じで、最後のコミットにあることがわかります。作業ディレクトリには、release.properties および pom.xml.releaseBackup ファイルが含まれています。

リポジトリ全体ですべてがうまくいっているように私には見えます。

4

1 に答える 1

14

コメントでVonCが示唆しているように、それは同じ名前のリモートタグであることが判明しました。これは、以前に中止されたリリースによって作成された可能性があります。

リモートリポジトリの refs/tags ディレクトリを手動で調べてリモートタグを見つけましたが、 git ls-remote --tagsそれらgit push --verboseも表示され、一般的な問題についての詳細も表示されます。

これを修正するには、まず でリモート タグを取得しますgit fetch --tags

次のステップを実行する 1 つの方法は、pom.xml を更新してより高い -SNAPSHOT バージョン (そのスナップショットへの他のモジュールによる同じプロジェクト内のすべての参照を含む) を持つように更新することにより、そのリリース タグを単純にバイパスし、これらをチェックインして実行することです。mvn release:clean; mvn release:prepareもう一度。

于 2012-06-04T15:37:40.437 に答える