Git pull命令与fetch命令的区别

 更新时间:2017年03月10日 08:51:29   作者:EthanPark  
这篇文章主要介绍了Git pull命令与fetch命令的区别的相关资料,需要的朋友可以参考下

Git pull命令与fetch命令的区别

今天在公司碰到个问题,公司不使用master分支作为主分支,而使用release分支作为主分支,这就碰到了个问题,也就是当clone一个项目下来的时候,如果master跟release分支有冲突,就不能pull了,自己还要解决冲突。

刚下一个项目,也不懂冲突到底怎么回事,也就很难搞了。

这个时候,就不得不提Git的两个命令,git fetch和git pull

Git中从远程的分支获取最新的版本到本地有这样2个命令:

Git fetch

git fetch:相当于是从远程获取最新版本到本地,不会自动merge

git fetch origin master
git log -p master..origin/master
git merge origin/master

以上命令的含义:

首先从远程的origin的master主分支下载最新的版本到origin/master分支上

然后比较本地的master分支和origin/master分支的差别

最后进行合并

上述过程其实可以用以下更清晰的方式来进行:

# 将远程release分支拉到本地的releaselocal分支
git fetch origin releaser:releaselocal

# 切换到tmp分支
git checkout releaselocal

这样也就解决了这个问题,之后master分支删除掉,直接从releaselocal创建master分支,这样所有的分支都跟远端的release分支同步了。

Git pull

git pull:相当于是从远程获取最新版本并merge到本地

git pull origin release:release

上述命令其实相当于git fetch 和 git merge

这个命令其实不太靠谱,如果本地没有release分支的话,会自动根据当前分支branch一个release分支,然后来执行pull操作,所以不太靠谱

所以我通常的做法是保留本地的master分支不进行任何commit,然后通过master分支来进行切换,这样在master分支上是clean的,然后通过之前的命令就不产生冲突了

之后在release分支上进行merge操作,安全很多。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Ubuntu20.04 VNC 安装与设置实现

    Ubuntu20.04 VNC 安装与设置实现

    这篇文章主要介绍了Ubuntu20.04 VNC 安装与设置实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Linux文件操作高频使用命令小结

    Linux文件操作高频使用命令小结

    这篇文章主要介绍了Linux文件操作高频使用命令小结,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Ubuntu设置国内镜像的全部流程

    Ubuntu设置国内镜像的全部流程

    Ubuntu作为广泛使用的Linux发行版,其默认的镜像源可能因为地理位置和网络问题导致下载速度缓慢,本文将指导用户如何根据自己所在的地理位置,选择并设置最适合的国内镜像源,需要的朋友可以参考下
    2024-06-06
  • IO多路复用之select全面总结(必看篇)

    IO多路复用之select全面总结(必看篇)

    下面小编就为大家带来一篇IO多路复用之select全面总结(必看篇)。小编觉得挺不错的。现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • linux设置hosts全过程

    linux设置hosts全过程

    这篇文章主要介绍了linux设置hosts全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 密码学之apache部署https介绍

    密码学之apache部署https介绍

    大家好,本篇文章主要讲的是密码学之apache部署https介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • linux expect实现登陆远程主机并执行命令示例代码

    linux expect实现登陆远程主机并执行命令示例代码

    这篇文章主要给大家介绍了linux expect实现登陆远程主机并执行命令的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Linux常用查看硬件设备信息命令大全(值得收藏)

    Linux常用查看硬件设备信息命令大全(值得收藏)

    本文是小编收藏整理的关于linux查看硬件设备信息的命名,非常不错,值得收藏,需要的朋友参考下吧
    2016-12-12
  • Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    这篇文章主要介绍了Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Linux使用NetworkManager随机生成你的MAC地址

    Linux使用NetworkManager随机生成你的MAC地址

    今天小编就为大家分享一篇关于使用NetworkManager随机生成你的MAC地址的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09

最新评论