Git 存储库同步

标签 git ssh git-bare

如何保持两个 git 存储库同步?

第一个存储库是团队用来推送更改的“中央”存储库,创建于 the git book guide 之后. 第二个存储库将只是第一个存储库的镜像

我将 git 与 ssh 结合使用,更改应该只从第一个存储库推送,因为它位于安全网络之后。

最佳答案

假设第一个存储库知道它的镜像,您可以使用 post-receive钩。根据手册,此类 Hook 的常见用途之一是通知其他人已成功接收到更新。

要创建这样的钩子(Hook),请将名为 post-receive 的脚本(任何脚本,语言/解释器由顶部的 shebang 确定)放入 hooks .git 下的文件夹(如果它是空的,则在主 repo 下)。在 Hook 中,运行命令以推送到您感兴趣的远程。示例脚本如下:

#!/bin/sh
git push mirror

此处,mirror 是在主存储库中配置的远程镜像的名称。

关于Git 存储库同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32567190/

相关文章:

ssh - 使用自定义Windows AMI可以在EC2上延长部署时间

Git:如何检查共享(裸)存储库中存在哪些文件(及其内容)?

git - 如何将裸 git 存储库转换为普通存储库(就地)?

git merge --no-commit 与 git cherry-pick --no-commit

git - 从 Google Cloud Composer DAG 克隆存储库

Git 提交日期

GitHub 网络图表示 merge 后错误的第一个父级

node.js - 通过 npm install 在 Docker 容器中访问私有(private) git repos

bash - 如果不存在,bash会创建许多目录

Git bare - 要备份什么?