如何镜像存储库,以及将更改从源合并到目标

时间:2019-06-24 22:40:55

标签: git

我对git clone -mirror有疑问。

这就是我想要做的:

我有一个(源)存储库A,已镜像到(目标)存储库B。

> git clone --mirror https://github.com/sourceRepo.git
> cd sourceRepo.git # Go into the mirror source.
> git remote set-url --push origin https://github.com/targetRepo.git

我希望能够在targetRepo上创建新内容,并将内容从sourceRepo合并到targetRepo。

例如:

镜像后

sourceRepo: fileA, fileB, dirA/, dirB/, dirC/
targetRepo: fileA, fileB, dirA/, dirB/, dirC/

在sourceRepo中创建新目录dirD,并在targetRepo中创建新目录dirE

Push the new changes from sourceRepo to targetRepo.  

最终结果

sourceRepo: fileA, fileB, dirA/, dirB/, dirC/, dirD/
targetRepo: fileA, fileB, dirA/, dirB/, dirC/, dirD/, dirE/

我该怎么做?

1 个答案:

答案 0 :(得分:0)

  

在sourceRepo中创建新目录dirD,

这表明sourceRepo(克隆的)有一个正常工作的树。
但是克隆--mirror会创建一个 bare 存储库(没有工作树)

因此,如前所述,请勿使用--mirror
添加set-url --push是一种使用一个命令推送到多个远程URL的正确方法。