【问题标题】:Testing a post-merge hooks script for git测试 git 的合并后钩子脚本
【发布时间】:2013-07-24 11:40:04
【问题描述】:

我对 GIT 很陌生,我有以下疑问:

如何在不让其他人将虚假更改推送到存储库的情况下测试合并后脚本是否会履行职责? (post-merge 是否是正确的脚本,如果我希望每次从存储库中拉出并找到一些修改时都调用它?即使拉出错误(例如由于冲突)也会执行吗?)

我问这个与this other problem I am facing有关的问题。

【问题讨论】:

    标签: git


    【解决方案1】:

    我宁愿通过将虚假更改推送到您的实际存储库的克隆来测试合并后挂钩。
    我会在克隆中注册该钩子,就像在当前仓库中设置它一样。

    这样,您就不会用必须清理的虚假历史来污染您的原始存储库。


    如果你想避免克隆,你可以:

    • 为这些合并指定一个分支
    • 在更改 user.nameuser.email (git config user.name xxx) 后推送,以便模拟其他作者和提交者进行合并。

    在该分支上完成这些测试合并后,您可以delete it easily enough

    【讨论】:

    • 谢谢,这是个好主意,但我想知道是否可以避免克隆该项目(它非常庞大)。此外,有没有一种方法可以模拟其他人在存储库中推送某些东西,以便我可以拉取,或者我必须让另一个人参与?
    • @Antonio 您可以在更改 user.nameuser.email 之后推送,以使 git 相信提交来自其他人。然后,您可以在一个特殊的分支中测试这些合并,在所述测试之后很容易清理(删除)。我已经编辑了我的答案。
    【解决方案2】:

    无需其他人向您的仓库推送任何内容。 您可以创建一个本地分支:

    git checkout -b <dummy branch>
    

    在您的本地分支中进行更改,提交它们,然后移动到您的实际工作分支并合并您的虚拟分支:

    git merge <dummy branch>
    

    这应该会触发您的合并后脚本。您可以根据需要重新执行此操作来测试您的脚本,而不会惹恼任何人:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-27
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      相关资源
      最近更新 更多