如何从一个Github存储库拉到多个本地存储库?

时间:2012-08-03 09:00:52

标签: git github pull

我有一个WordPress父主题和多个使用它的WordPress网站(都在同一个文件系统上)。那么如何使用Git确保父主题的每个实例都与Github上的版本同步?无需单独拉动每个实例。

2 个答案:

答案 0 :(得分:1)

您已经询问如何使多个本地存储库克隆保持最新,而无需单独提取每个实例。 Carl-Eric解决了如何在文件系统上有效存储多个存储库。以下是一些关于让它们保持最新的建议:

一种解决方案是在其中一个存储库中设置post-merge挂钩,迭代其他存储库并执行pull操作:

#!/bin/sh

unset GIT_DIR
for repo in /path/to/repo1 /path/to/repo2; do
   ( cd $repo && git pull)
done

post-merge脚本在git pull操作后运行。

话虽如此,最简单的选择是拥有存储库的单个克隆,然后从其他位置对其进行符号链接。

答案 1 :(得分:0)

首先将github repo克隆一次到本地计算机。

然后你可以通过两种方式继续:

  • 您只需执行该克隆的本地深层复制即可。所有设置都是相同的,副本都将origin遥控器指向github。你会浪费一些磁盘空间,因为所有副本显然都会包含整个仓库。
  • 或者,为了节省磁盘空间,您可以根据需要随时克隆该本地存储库。 Git将通过硬链接尝试尽可能多地重用存储库对象。在这种情况下,您可能需要调整您正在使用的遥控器,因为默认情况下origin将指向本地存储库,而不是指向Github。