【问题标题】:Use Git Hooks to detect a file change and push change to all branches (Bitbucket/Git)使用 Git Hooks 检测文件更改并将更改推送到所有分支 (Bitbucket/Git)
【发布时间】:2016-08-25 21:07:36
【问题描述】:

---更新---

有没有办法在所有分支中拥有全局文件,例如使用 Git Hooks 来检测文件更改并将更改推送到所有分支?

例如:

  1. 我们有 5 个不同的分支,它们都有不同的提交 他们。
  2. 它们都包含一个自述文件。
  3. 它们都基于 master 分支。

我们希望当自述文件在任何地方发生更改时,它会在所有分支中更新其他分支。

我明白分支分离背后的想法,但更新 6 个自述文件很糟糕。

从 cmets 看来,这似乎可以通过 git hooks 实现......那么,您将如何创建一个 hook 来检测 README 文件是否从任何分支更改并提交/推送到所有其他分支?

【问题讨论】:

  • 您可以将主分支合并回您的单独分支;例如git merge master。你也可以使用git cherry-pick 来合并特定的提交(而不是所有的提交)。
  • @Carpetsmoker 没错,我一直在做的事情——我试图避免一遍又一遍地做这个动作。此外,有时有人在分支#1 中更新自述文件,在分支#4 中更新不同的更新,如果你在分支#2 中你不知道,哈哈。我希望这个文件是否更新 ping 所有自述文件以更新。
  • 这可以使用 post-commit 钩子来完成,该钩子会选择提交到所有其他分支。您必须特别注意您的条件检查,例如仅更改 README 文件以防止传播其他更改。
  • 由于您的特定用例是 README 文件,您还可以考虑为文档创建一个专用分支,例如 gh-pages,甚至不要在其他分支中使用它。我个人将它保存在项目根目录docs 文件夹中,并开发特定于分支的文档,在分支的其余部分也准备好之前不会合并到 master 中。对于我的大多数用例,保持文档与代码库同步是有意义的,因此它自然遵循 rebase 主流程。
  • 这些长期存在的分支是不是设计为永远不会合并回主分支?

标签: git github bitbucket branching-and-merging githooks


【解决方案1】:

没有。分支背后的想法是它们的隔离。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-20
    • 2019-02-26
    • 1970-01-01
    • 2017-02-08
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    相关资源
    最近更新 更多