在github上fork專案如何同步並解決衝突
阿新 • • 發佈:2020-11-13
在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
至此,大功告成。