1. 程式人生 > 實用技巧 >在github上fork專案如何同步並解決衝突

在github上fork專案如何同步並解決衝突

在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.處理衝突

這時我們可以點開vscodeSource Control(原始碼管理)就可以很方便的檢視到衝突的檔案,處理完衝突然後再次合併。

# 提交併註釋
git commit -m "upgrade"
# 這時執行合併提示成功了
git merge upgrade/master
# 推送到github
git push origin master

至此,大功告成。