前言
- 本人非代码科班出身,所以平时很多GitHub项目都是直接fork的别人。有时候看到其他人修改,然后自己也琢磨着在自己的仓库上修改。过一段时间,发现fork的上游仓库有更新,但本地我自己也做了一些修改。我遇到的问题就是怎么合并我的仓库和上游仓库。
- 本文仅作学习记录
环境设定
- 注:我的仓库设置在VPS上,本地PC或者Linux同理
- cd命令进入本地设置好的仓库目录
执行命令
git remote -v
- 发现只有上面2行,说明我还未设置
upstream
(即上游仓库)
- 发现只有上面2行,说明我还未设置
执行命令
git remote add upstream https://github.com/fscarmen2/Argo-Nezha-Service-Container.git
- 把
fscarmen2/Argo-Nezha-Service-Contain
设置为上游仓库 - 再次执行命令
git remote -v
- 出现了
upstream
,说明设置成功
- 把
执行命令
git status
检查本地是否有未提交的修改如果有未提交的有效修改,则执行以下代码:
git add -A
或者git add filename
git commit -m "your note"
git push origin master
- 最后再执行一次
git status
开始同步
执行命令
git fetch --all
,获取我的远程仓库和上游仓库的更新,但不会自动修改当前分支- 也可以单独更新上游仓库:
git fetch upstream
- 也可以单独更新上游仓库:
- 执行命令
git checkout main
切换到 本地main 分支 执行命令
git merge upstream/main
,把上游仓库合并到本地main分支执行命令
git push
把本地仓库向我的远程github仓库推送修改结束
- 这样,我就把自己fork的旧版代码并经过自己修改的GitHub仓库,和最新的上游仓库合并了!
- 新代码包含了上游仓库的最新代码和我的修改代码
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来自二三事🥝 !
评论
评论
Muchas gracias. ?Como puedo iniciar sesion?