如何使用git同步上游仓库
某一天,你在github上看到了一个很棒的仓库,你觉得不错,于是你fork了这个仓库。但是某一天,仓库原作者修改了一些bug和增加了一些功能。按照理想状态下,好像觉得这个源仓库都更新了,那么我拷贝的这个仓库也会自动同步更新吧?
真实情况其实是:并不会自动更新,因为如果git这样设计的话会造成一些不可预知的情况发生。同步源仓库是理想状态下实现的效果,但是如果我们在完成自己的项目的时候,突然源仓库更新了,结果你现在项目的一些逻辑和之前不匹配了,这问题就大了。
在实际开发过程中经常会遇到上这样一种场景,需要同步上游仓库的代码。
方法一
回到正题:git如何同步上游仓库(以apisix-dashboard仓库为例)
因为记录这篇文章也是我学习的过程,所以我会从头开始慢慢讲解,以方便初学者查阅。
一.首先打开github
看到我们之前fork过的仓库,点进去会看到醒目的一个Fetch upstream
点击Compare按钮会出现到一个比较当前仓库和更新后仓库不同的地方,你可以通过这里简单的查看文件有哪些差异。
点击 Fetch and merge按钮,看到这两个单词,其实我们已经能猜出来它的功能是什么了,git fetch and git merge,具体实现了什么,我们马上就会解释。(下面是点击以后的界面)
这里需要解释清楚的是,这一步仅仅是将你自己fork的仓库代码和源仓库代码同步了,但是你本地工作区的仓库还没有更新。
二.回到vscode
执行git pull命令,将远程自己仓库的代码拉到自己的工作区即可。
如果已经是最新的代码,会出现下面的提示。
方法二
在这里需要进一步补充的内容是。其实上面的方法是接下来要讲的内容的语法糖(可以这么理解)
我们某一天不能查看github,但是我们知道上游仓库已经更新,想要把本地仓库更新为最新的上游仓库,和源仓库代码保持一致呢?这样该怎么办呢?(还有一种简单的,把现在的仓库删除,重新fork,然后重新clone也可,这里不讨论)
一.打开终端切换到当前代码路径下
输入git remote
,查看你当前远程仓库
这个代表什么意思呢?简单理解就是,本地工作区只和这个origin远程仓库发生关系,不管是fetch 和 push 其实都是操作的这个仓库。如果在当前目录下执行git fetch
命令,其实相当于写了git fetch origin master
只不过省略了后面的origin mater
而已。
那我们应该如何和远程上游仓库建立起联系呢?这里需要用到git remote add <name> <url>
这个命令,具体怎么实现如下:
是我们自定义设置的,关键就是这个url在哪里获取?
首先,点击这里进入到源仓库
然后复制这里的地址即可
切换到终端执行下面命令
输入git remote -v
查看现在远程仓库的信息
二.追踪查看上游代码
输入git fetch upstream master
命令,注意这里如果使用git fetch
其实还是默认拉下来origin的代码,一定要fetch upstream
,这样才是把上游代码拉到本地查看。(我这里写了master,意思就是只拉下来上游master分支查看,省略的话就是拉下全部分支的代码)
接下来就是merge upstream/master
三.推送到origin 仓库
git push
即可
现在你的仓库已经和上游master仓库同步了~
如何使用git同步上游仓库相关推荐
- Git同步上游并保留自己本地的修改
Git同步上游并保留自己本地的修改 前言 最近在折腾GitHub一些开源的项目,但是开源的达不到我想要的效果,于是就自己魔改,那就肯定得同步上游,并且保留自己的改动. 克隆仓库 git clone h ...
- git同步个人仓库与主仓库代码
为fork库配置原始远程库 (首先,在git配置远程只想上层仓库) 1.git remote -v 2.配置主仓库路径 git remote add upstream 如果出现以下状况! 则在后面加上 ...
- git fock的子项目从上游仓库(源项目)同步更新
1.clone fock的项目到本地 git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git 2.查看项目远程状态 git remote -v ...
- 同步fork的上游仓库代码更新:git pull upstream
git pull upstream同步上游更新 在使用git管理项目的时候,不管是gitlab还是github项目,都可以通过fork将上游仓库的项目复制到自己仓库中,但是上游的仓库变更时,怎么同步更 ...
- Git连接GitHub仓库,同步上传图片及CSDN外链图片转存失败解决方案
Git连接GitHub仓库,同步上传图片及CSDN外链图片转存失败解决方案 最近在使用markdown编辑器写博客时,发现了一个问题,就是本地图片的上传问题,查阅发现,可以上传本地图片,使用外链进 ...
- git同步代码到远程github仓库
原文地址: http://www.runoob.com/git/git-remote-repo.html Git 远程仓库(Github) Git 并不像 SVN 那样有个中心服务器. 目前我们使用到 ...
- git如何同步本地仓库与远程仓库代码
fork仓库代码至本地后如何同步原仓库或其他成员仓库代码至本地 1.git remote查看远程仓库 目前只有origin是因为只是克隆了自己的仓库,还没有配置其他远程仓库,这是git给予克隆仓库的默 ...
- 使用git同步到远程仓库
使用git同步到远程仓库 在仓库所在的目录(D:\temp\git\repository)点击右键选择"Git Bash Here",启动git bash程序. 然后在git ba ...
- git创建fork仓库和关联fork仓库 git提交新分支之git删除本地分支和git删除远程分支——git remote prune origin同步分支
git创建fork仓库和关联fork仓库 & git提交新分支之git删除本地分支和git删除远程分支--git remote prune origin同步分支 & 跨分支合并-新建分 ...
最新文章
- CSS和JS样式属性对照表
- 实现cookie跨域
- git遇到的问题之“Please make sure you have the correct access rights and the repository exists.”...
- linux电脑培训,电脑培训Linux服务器初始化Shell
- Linux kernel 4.x中的min和max宏
- 你是你产品的头号用户
- SVN创建分支与合并
- mysql怎么把两个表格的数据合并成一行_mysql中将多行数据合并成一行数据
- 古风排版 python
- 用python画小仓鼠教程_小仓鼠简笔画教程
- 如何实现自定义主题切换?
- MEC与C-V2X融合应用场景白皮书
- 示例程序009--阙值化(二值化,cvThreshold)
- linux srs安装教程,SRS环境搭建
- 护肤品买了这么多还是不见好转,钱都去哪里了?
- IEEE xplore论文免费下载
- 软件测试如何快速上手,了解KYM? 阿里总监是这样说的
- win10通过计算机名称共享打印机,WIN10怎么连接共享打印机到电脑上
- 使用switch编写一个四则运算(+、-、*、/)
- C语言:计算同一年内两个日期的相隔天数