代码之家  ›  专栏  ›  技术社区  ›  Andy Baker

自动镜像Git存储库

  •  23
  • Andy Baker  · 技术社区  · 16 年前

    使用外部Subversion存储库的一个副作用是在每次提交时获得自动的异地备份。

    我想用git实现同样的效果。

    也就是说,每次提交到本地存储库时,都会自动提交到外部存储库,因此两个存储库始终保持同步。

    我想一个提交后的钩子是可行的。有没有人对此有任何具体的例子?

    1 回复  |  直到 14 年前
        1
  •  18
  •   Jay    14 年前

    为此,我编写了一个提交后挂钩。钩子本身很简单;只需添加一个名为 post-commit 对你 .git/hooks/ 包含以下内容的目录:

    git push my_remote
    

    这个 后提交 文件应该是可执行的。同时确保添加合适的 remote 名为的存储库 my_remote 为了这个钩子工作。

    我还制作了一个名为 post-merge 那指向 后提交 . 这是可选的。如果这样做,合并后也会自动同步。

    更新: 如果要确保服务器和镜像不同步,并确保所有分支都已备份,则 后提交 钩子可以使用:

    git push my_remote -f --mirror