从github远程仓库fork后本地仓库如何和源仓库同步

从github上fork代码到本地后,我们会把代码推到我们本地的仓库去,进行相应的开发和修改,若github的源仓库上做了新的改动和bugfix,我们想把源仓库的修改同步到我们的本地分支,并推送到本地的私有仓库,该怎么做呢:

  1. 先创建上游源仓库地址:
    git remote add upstream https://github.com/xxx/xxx.git

可以先查看是否已经有upstream 信息

git remote -v

 origin  https://gitlab.BBB.com/BBB/BBB.git (fetch)
 origin  https://gitlab.BBB.com/BBB/BBB.git  (push)
 upstream        https://github.com/xxx/xxx.git (fetch)
 upstream        https://github.com/xxx/xxx.git (push)
  1. 添加完成以后可以将远程代码同步到本地:
# 会将远程代码同步到本地
git fetch upstream 
  1. 代码合并,切换到相应的本地分支,选择相应的upstream分支和当前本地分支进行merge操作
 git checkout master 
 git merge upstream/master 
# 这样就相当于将upstream/master 的代码和并到本地分支master中
# merge 的时候有可能会出现以下错误:
fatal: refusing to merge unrelated histories
# 解决办法,加上一个参数即可:
git merge upstream/master --allow-unrelated-histories
  1. 解决冲突后,将合并后的代码推送到本地分支,或是自有的仓库中去,若远端都是github作为仓库地址的话,github提供了这种项目merge的操作:
    在code界面,选择new pull request ;
    compare across forks 选择相应的分支进行比较同步
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 说明: 整理一份github的fork的用法,以及相关的操作命令,重点是在于fork完成了之后,两个仓库之间如何同...
    宇宙小神特别萌阅读 4,903评论 0 2
  • 远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题...
    归云丶阅读 1,971评论 0 5
  • 一. 版本控制术语 版本控制系统(VCS):管理不同版本源代码的系统 提交(commit):将源代码的变动提交到V...
    Leesper阅读 681评论 0 1
  • 前言 在前面的文章中,我们一直介绍的在本地Git的仓库相关知识点。而在实际的项目开发中,大多数情况下,我们往往需要...
    AndyJennifer阅读 858评论 0 2
  • 1.GitHub 有什么用 学习优秀的开源项目开源社区一直有一句流行的话叫「不要重复发明轮子」,某种意义上正是因为...
    Clemente阅读 1,449评论 1 14