1

所以我试图将一些文件添加到其他人的提交中。

具体来说,我正在使用 Jenkins 运行一些测试,当它们完成后,我想将测试的结果文件修改为原始提交,这样如果提交被成功审查和合并,测试结果将被合并。

现在我有一个 build.sh 脚本,它将由 jenkins 执行(jenkins 会在每次推送到 gerrit 的提交时自动触发):

#!/bin/sh
echo Starting
python /some/folders/test.py
echo Tests finished, adding results
git add /some/folders/results/
git commit --amend --no-edit
git push origin HEAD:refs/for/master
echo Done

问题是这失败了。这是将文件修改为其他人提交的正确方法吗?

谢谢你的帮助

4

2 回答 2

0

Jenkins 用户有“添加补丁集”权限吗?

在此处查看更多详细信息。

于 2017-03-24T13:51:59.913 回答
0

没有“正确”的方式来修改已推送的提交修改提交与变基相同。

我敢打赌失败的是推送,它告诉你一些关于更新不是祖先的远程参考的事情,对吧?那是因为如果你做你想做的事情,任何有 ref 指向其他人的提交(或它的任何后代)的人都将处于损坏状态。

如果您仍然坚持这样做,则需要推动该-f选项,然后准备好在下周帮助您的同事解决您对他们所做的事情。

可能更好地找出一种不同的方法来获得所需的结果。

于 2017-03-24T13:58:41.473 回答