我喜欢重置本地存储库以赶上远程存储库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类似,我有两个本地存储库说A
和B
。 B
只是通过复制文件从A
创建的,事实上,A
和B
都在VM中,B
的VM与{ {1}}。存储库A
和A
都具有相同的远程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
由于
答案 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。