Github上Fork后与原仓库同步
有一个很省事的方法
如果你
Fork
后对原仓库的代码修改量不大,基本上只修改了一些参数的话
直接前往Fork
仓库的Settings
页面,翻到最下面然后Delete
吧
然后重新Fork
一遍原仓库,在新Fork
的仓库中重新修改
不得不说这种方法很省事,但是这种方法应该作为最后的选择,而不是首选
Merge
上次和小伙伴门一起写项目的时候也经常要用到 Merge
,不怎么熟练那就多练练(手动摸稽稽
-
Step1. 进入本地仓库的目录
这里指的本地仓库是在电脑上Clone
的自己的仓库 -
Step2. 查看远程仓库的路径
使用git remote -v
,一般来说只有两条记录说明当前的仓库没有设置
upstream
(上游代码库),设置一次upstream
后就无需重复设置了 -
Step3. 设置上游代码库
使用git remote add upstream 上游代码库
这个命令执行后,没有任何返回信息
所以再次执行命令
git remote -v
检查是否成功 -
Step4. 检查本地是否有未提交的修改
使用git status
查看如果有,则把本地的有效修改推送到你的github仓库
git add .
或者git add filename
git commit -m "update"
git push origin master
最后再执行一次git status
检查本地已无未提交的修改 -
Step5. 抓取原仓库的更新
使用git fetch upstream
-
Step6. 切换到主分支
注: 我所使用的仓库主分支名为main
使用
git checkout main
-
Step7. 合并远程的主分支
使用git merge upstream/main
-
如果没有自动合并出错则进入Step8
-
这里看到输出信息里面有自动合并出错,需要手动
Merge
的文件在倒数第二行指出
使用 VS Code 打开本地仓库的该文件就能看到手动Merge
选择,选择你想要的方式:
使用传入方案
(也就是原仓库的代码) 或者是保留本地方案
(这个就是你修改的东西)
我们肯定就选择第二种了- 合并冲突后需要
git add .
或者git add 手动合并的文件名
git commit -m "merged"
- 合并冲突后需要
-
-
Step8. 推送本地代码到自己的云端仓库
使用git push
已经就解决了 fork
的仓库和原仓库版本不一致的问题啦