将本地git存储库赶到远程存储库

时间:2014-11-03 20:11:31

标签: git synchronization repository updates

我喜欢重置本地存储库以赶上远程存储库HEAD。从Reset local repository branch to be just like remote repository HEAD和其他站点,我可以看到正常的命令集是:

git fetch origin
git reset --hard origin/master

然而,这对我来说仍然不够。我还能检查/我应该做什么?

长篇故事,与Merge remote repository commits to the local类似,我有两个本地存储库说ABB只是通过复制文件从A创建的,事实上,AB都在VM中,B的VM与{ {1}}。存储库AA都具有相同的远程git存储库。

存储库B过着他的生活 - 添加了一些补丁,更新了规范文件等,而存储库B仍然处于VM复制点。现在我想通过他们的公共远程git存储库将我的本地存储库A带到A所在的位置。所以我先尝试B,但得到git pull。然后我做了上面两个命令,即

Already up-to-date.
存储库$ git fetch origin $ git reset --hard origin/master HEAD is now at 49e7629 - ... 中的

。但是,与存储库A相比,49e7629 HEAD仍然是旧的。

B表明存储库git log仍然比存储库B更新。我还能检查/我应该做什么?

是否与我的远程git存储库配置有什么关系?这是我的远程git存储库:

A

由于

2 个答案:

答案 0 :(得分:0)

我的理解是: A和B是同一个远程远程存储库(命名源)的克隆 您想要使用B更改更新A

该案例的解决方案是: 将自己置于A中,然后将B添加为遥控器:

git remote add originB /path/to/B/repository

您现在可以列出您的遥控器:

git remote -v

哪个应该打印:

origin ssh://git@bitbucket.org/myid/myrepo.git (fetch)
origin ssh://git@bitbucket.org/myid/myrepo.git (push)
originB /path/to/B/repository (fetch)
originB /path/to/B/repository (fetch)

现在,您可以按照正确的语法从originB获取/合并/ ....举个例子:

git pull originB anybranch

您会在http://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes

找到更多信息

答案 1 :(得分:0)

需要将Repo B中的更改推送到共享远程,以便Repo A将它们拉出来。否则,B中的更改仅限于B。