我喜歡重置我的本地倉庫以趕上遠程倉庫HEAD。從Reset local repository branch to be just like remote repository HEAD和其他網站,我可以看到正常的指令集是:趕上本地git倉庫到遠程倉庫
git fetch origin
git reset --hard origin/master
然而,這仍然是不夠的我。我還能檢查/我應該做什麼?
長篇故事,與Merge remote repository commits to the local類似,我有兩個本地存儲庫說A
和B
。 B
只是通過複製文件從A
創建的,實際上,A
和B
都在VM中,而B
的VM是從A
複製的。兩個存儲庫A
和B
都有相同的遠程git存儲庫。
存儲庫B
終其一生 - 添加了一些補丁,更新的規範文件等,而存儲庫A
停留在虛擬機複製點。現在我想通過它們的通用遠程git存儲庫將我的本地存儲庫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
仍比存儲庫A
更新。我還能檢查/我應該做什麼?
與我的遠程git存儲庫配置有什麼關係?以下是我的遠程git倉庫:
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = ssh://[email protected]/myid/myrepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
感謝
將repo B中的更改推送到遠程以便可以將它們拉出? – Schleis 2014-11-03 20:42:23
Duh!而已。我感覺真的很愚蠢。 :-)請「回答」,以便我可以「接受」。 THX – xpt 2014-11-04 19:05:39