我对GIT很陌生,我有以下疑问:
在不让其他人向存储库推送虚假更改的情况下,我如何测试合并后脚本是否会履行其职责?(如果我希望每次从存储库中提取并发现一些修改时都调用postmerge脚本,那么它是正确的脚本吗?即使提取错误退出(例如因为冲突),它也会被执行吗?)
我问这个问题与我面临的另一个问题有关。
我宁愿通过向实际回购的克隆推送虚假更改来测试合并后挂钩
我会像在当前回购中设置挂钩一样,在克隆中注册挂钩。
这样,你就不会用你必须清理的虚假历史来污染你的原始回购。
如果你想避免克隆,你可以:
- 为这些合并指定一个分支
- 在更改了
user.name
和user.email
(git config user.name xxx
)之后进行推送,以便为您的合并模拟其他作者和提交人
一旦在该分支上完成了这些测试合并,就可以很容易地删除它。
不需要其他人向您的回购推送任何东西。你可以创建一个本地分支:
git checkout -b <dummy branch>
在您的本地分支中进行更改,提交它们,然后转移到您的实际工作分支并合并您的虚拟分支:
git merge <dummy branch>
这应该会触发合并后的脚本。您可以在不打扰任何人的情况下根据需要重新测试脚本:)