0

我想做mvn release一个来自过去提交的工件;有人向同一个 SNAPSHOT 添加了多个提交,我希望将这些提交排除在外并移至下一个版本。给定以下git log输出:

commit ea05
Author: Y

commit 921d
Author: Y

commit 530c
Author: Y

commit 64e9
Author: X

我希望 Maven64e9用于发布而不是ea05

我尝试做git co 64e9(分离的 HEAD),mvn release:prepare(工作)然后mvn release:perform它挂起,产生以下输出:

[INFO] Building ABC
[INFO]    task-segment: [release:perform] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [release:perform {execution: default-cli}]
[INFO] Checking out the project to perform the release ...
[INFO] Executing: /bin/sh -c cd /home/ABC/target && git clone ssh://repo/ABC.git /home/ABC/target/checkout
[INFO] Working directory: /home/ABC/target
[INFO] Executing: /bin/sh -c cd /home/ABC/target/checkout && git pull ssh://repo/ABC.git tag ABC-1.6
[INFO] Working directory: /home/ABC/target/checkout
(...hanged)
4

1 回答 1

1

@khmarbaise 感谢您的启发,这就是我最终解决问题的方法:

  1. 将当前状态存储在单独的分支中
  2. git reset --hard所需提交的主人
  3. git push --force origin避免“您的分支在 N 次提交后落后于 'origin/master',并且可以快进。”
  4. 使用 Maven 的发布插件发布
  5. 将另一个分支中“隐藏”的提交重新应用到下一个开发版本。
于 2015-12-19T20:37:14.700 回答