git 同步远程仓库

fork 了别人的仓库后,原作者又更新了仓库,如何将自己的代码和原仓库保持一致?本文将给你解答。

如何使用搜索引擎

其实这个问题并不难,我又被坑了。百度搜的东西不靠谱啊,以后这种问题一定要用英文在 Google 或者 Bing 上搜索,这样才能搜到原汁原味的答案。就当是一个教训吧。

搜索 fork sync,就可以看到 GitHub 自己的帮助文档 Syncing a fork 点进去看这篇的时候,注意到有一个 Tip: Before you can sync your fork with an upstream repository, you must configure a remote that points to the upstream repository in Git.

根据这两篇文章,问题迎刃而解!

具体方法

Configuring a remote for a fork

  • 给 fork 配置一个 remote
  • 主要使用 git remote -v 查看远程状态。
git remote -v
# origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
# origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
  • 添加一个将被同步给 fork 远程的上游仓库
git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
  • 再次查看状态确认是否配置成功。
git remote -v
# origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
# origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
# upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
# upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

Syncing a fork

  • 从上游仓库 fetch 分支和提交点,传送到本地,并会被存储在一个本地分支 upstream/master 
    git fetch upstream
git fetch upstream
# remote: Counting objects: 75, done.
# remote: Compressing objects: 100% (53/53), done.
# remote: Total 62 (delta 27), reused 44 (delta 9)
# Unpacking objects: 100% (62/62), done.
# From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
#  * [new branch]      master     -> upstream/master
  • 切换到本地主分支(如果不在的话) 
    git checkout master
git checkout master
# Switched to branch ‘master‘
  • 把 upstream/master 分支合并到本地 master 上,这样就完成了同步,并且不会丢掉本地修改的内容。 
    git merge upstream/master
git merge upstream/master
# Updating a422352..5fdff0f
# Fast-forward
#  README                    |    9 -------
#  README.md                 |    7 ++++++
#  2 files changed, 7 insertions(+), 9 deletions(-)
#  delete mode 100644 README
#  create mode 100644 README.md
  • 如果想更新到 GitHub 的 fork 上,直接 git push origin master 就好了。

原文地址:https://www.cnblogs.com/codehome/p/10075823.html

时间: 2024-11-05 20:47:41

git 同步远程仓库的相关文章

git修改远程仓库地址

问:Coding远程仓库地址变了,本地git仓库地址如何更新为最新地址 git修改远程仓库地址 方法有三种: 1.修改命令 git remote origin set-url [url] 2.先删后加 git remote rm origingit remote add origin [url] 3.直接修改config文件 git 远程仓库管理 要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写

Git学习 -- 远程仓库

第1步:创建SSH Key 在用户目录下的.ssh目录中,查看是否有id_rsa和id_rsa.pub两个文件,若没有则通过以下命令生成秘钥对: $ ssh-keygen -t rsa 第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面: 添加id_rsa.pub的内容 第3步,创建远程仓库 在GitHub网页上,按照提示创建即可 第4步,连接本地库和远程库 本地库 => 远程库 在本地仓库(若没有,先创建),运行命令: git remote add o

git管理远程仓库的使用

作为一名合格的程序员,怎么能不会使用git管理远程仓库呢!今天,让我们来学习如何使用git管理远程仓库. 以玛云为例.首先,你要建立远程仓库.注册码云账号,与github不同,它是纯中文版的,所以,只要你注册了账号,就知道要怎么做了.注册好账号以后,你再上面新建项目.我们只要是学习如何把它下载下来和上传上去. 下载:第一次下载需要使用命令:git clone 密钥地址.需要注意的是,如果你使用的是https上面的地址,每次下载都要求你输入用户名和密码.如果你不想那么麻烦,你可以现在git上生成一

【git学习三】git基础之git管理远程仓库

1.背景 git管理远程仓库,本文以github为例. 2.管理远程仓库 1.本地ssh认证,在github建立一个repo叫做ospaf-GetWordFre 2.添加远程仓库,可以用git remote 命令实现,o是仓库名,可以用git remote -v查看 git remote add o git://github.com/jimenbian/ospaf-GetWordFre.git 3.接着就可以向github上fetch或是push代码了.注意要选择分支 /************

git同步本地仓库和远程仓库

上次说到如何将本地仓库上传到github上,这次来说说如何合并远程和本地仓库. 首先建立远程仓库,注意建立的时候勾选建立README 这样建立的远程仓库就不是空的了. 然后我们在本地建立本地仓库并init和commit(红线的地方是我打错了) 然后关联远程仓库,此时我们可以在这里找到ssh链接,复制下来就好 然后我们push试一下,会出现很闹心的结果 这是因为blabla......官方介绍我就不罗嗦了(反正我现在也看不懂),总而言之就是你的本地仓库和远程仓库不同步, 也就是说远程仓库保存的是你

Git操作-远程仓库

我们这里的远程仓库使用github(提供git仓库托管的一个网站),首先需要有github账号. 连接本地git与github 由于本地git仓库与github仓库之间的传输是通过SSH加密的,所以需要设置: 1.创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key: $ ssh-keygen -t

git的使用学习(一)git的远程仓库

1.远程仓库介绍 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方. 没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别.为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二,之三……):远程仓库. Git是分

Git更新远程仓库代码到本地(转)

参考链接:https://blog.csdn.net/chailyuan/article/details/53292031 在下载一个较大的github项目以后,当该项目代码更新以后,我们想将更新的内容与本地的代码同步.这次终于找到一个可用的方法,赶紧记录一下. 0x01 查看远程分支 使用如下命令可以查看远程仓库(我这里有一个origin仓库) $ git remote -v origin [email protected]:username/Animations.git (fetch) or

Git部署远程仓库至github

本地部署 本地文件部署到github 设置username和email git config --global user.name "your name" git config --global user.email "[email protected]" 从github上克隆项目再同步到github git clone URL 记得clone带.git的文件 添加远程仓库 git remote add origin [email protected]:yourNa