1、當我在一個項目(下面就叫它源項目)中fork出來一個分支自己在上面開發(fā),在協(xié)同開發(fā)過程中,我想時刻得到其他小組成員上傳的最新的代碼,就需要與源項目保持同步,google了一些解答,總結(jié)了一下。
2、項目 fetch 到本地,通過命令行的方式 merge
在我們本地的項目中打開git bash輸入下面的命令查看查看遠程信息:
git remote -v
會看到如下信息:
foolf@DESKTOP-N53SFFK MINGW64 /j/SoftGateway (master)
$ git remote -v
origin http://172.18.69.52/YuZiyong/SoftGateway.git (fetch)
origin http://172.18.69.52/YuZiyong/SoftGateway.git (push)
跟上游倉庫同步代碼之前,必須配置過 remote,指向上游倉庫
如果我們的源項目的地址為
http://172.18.69.52/hhhh/SoftGateway.git
使用下面命令配置遠程倉庫
git remote add upstream http://172.18.69.52/hhhh/SoftGateway.git
從上游倉庫獲取到分支,及相關(guān)的提交信息,它們將被保存在本地的upstream/master
分支
git fetch upstream
這樣就將源項目的分支獲取到本地
$ git fetch upstream
remote: Counting objects: 1, done.
remote: Total 1 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (1/1), done.
From http://172.18.69.52/hhhh/SoftGateway
de69622..f2da06e master -> upstream/master
3、如果你在其他分支,需要想切換到本地master分支
git checkout master
# Switchedto branch 'master'
4、把 upstream/master 分支合并到本地的 master 分支,本地的 master 分支便跟上游倉庫保持同步了,并且沒有丟失你本地的修改。
git merge upstream/master
END
這樣就可以和fork的源倉庫保持同步了。