在github上fork項目如何同步並解決沖突
在github上有些項目我們可能會進行一些自己功能的添加但是提交PR后作者基於設計或者其他原因考慮沒有通過,但是這個功能又是我們必須的。這時我們就想自己維護一份自己的版本,所以主倉庫更新版本時我們就需要同步。
1.首先,先克隆自己的fork后的遠端倉庫到本地
git clone https://github.com/your/projectname.git
2.用vscode
打開,並在vscode
的終端進行操作
# 查看原有遠程分支信息
git remote -v
# 添加源項目的遠程分支並命名為upgrade,名稱隨意
git remote add upgrade https://github.com/origin/projectname.git
# 再次查看本地的遠程分支信息,這時已經可以看到遠程分支已經添加進去了
git remote -v
# 把upgrade的代碼拉取到本地
git fetch upgrade
# 查看並選中dev(默認是選中master),或者其他你想合並的分支,只有一個master分支可以忽略
git branch
# *號就是選中的
> * master
> dev
git checkout -b dev
# 合並upgrade到我們自己的master分支
git merge upgrade/master
# 如果沒有提示沖突,直接推送到github倉庫,有沖突請繼續往下看
git push origin master
3.處理沖突
這時我們可以點開vscode
的Source Control
(源代碼管理)就可以很方便的查看到沖突的文件,處理完沖突然后再次合並。
# 提交並注釋
git commit -m "upgrade"
# 這時執行合並提示成功了
git merge upgrade/master
# 推送到github
git push origin master
至此,大功告成。