Git commit与pull的先后顺序及说明

 更新时间:2023年11月06日 08:51:35   作者:Mordor Java Girl  
这篇文章主要介绍了Git commit与pull的先后顺序及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

整理这个问题的起因

1.前些天一个晚辈问我关于commit与pull的先后顺序问题

2.今天又与同事争论了一番commit与pull的先后顺序问题

我的建议是

1.在本地修改与远程代码无冲突的情况下,优先使用:pull->commit->push

2.在本地修改与远程代码有冲突的情况下,优先使用:commit->pull->push

我们怎么去确定是否有冲突呢?

一般我们在合作开发一个项目的过程中,都会有分工,有时会两个人同时修改一个类,有时整个类都是你自己在开发。

如果都是自己在开发的类,当然优先使用pull->commit->push,为什么我更倾向这种方式呢,因为这样会减少Git没有必要的merge。

如果有冲突的情况下,先pull了会出现什么问题呢?

如果你的判断失误,在本地修改与远程代码有冲突的情况下,先执行了git-pull,即使是这样也不用担心,git会给你一个错误提示,这时候你再去执行commit->pull->push也是没有问题的。

我们可以看一下

下面这个git提交记录的截图:

图中,

我们可以看到四次merge的提交,实际上这四次都是没有冲突的merge,这是commit->pull->push中,git自动生成的merge。

如果这里我们采用pull->commit->push呈现出来的就会是一条没有merge、没有多余commit的一条完美分支。

git-pull(https://git-scm.com/docs/git-pull)

Incorporates changes from a remote repository into the current branch.

In its default mode, git pull is shorthand for git fetch followed by git merge FETCH_HEAD.

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Git上新建的分支IDEA找不到问题及解决

    Git上新建的分支IDEA找不到问题及解决

    文章介绍了如何在IntelliJ IDEA中使用Git进行代码拉取(pull)操作,包括通过点击刷新按钮和在终端中执行命令两种方法,同时,还提供了解决项目未更新问题的步骤
    2024-11-11
  • i++循环与i-–循环的执行效率(递增与递减效率)

    i++循环与i-–循环的执行效率(递增与递减效率)

    i++循环与i-–循环的执行效率(递增与递减效率),需要的朋友可以参考下。
    2011-01-01
  • Git入门【推荐】

    Git入门【推荐】

    本文主要介绍了Git入门的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Vertica集成Apache Hudi重磅使用指南

    Vertica集成Apache Hudi重磅使用指南

    这篇文章主要为大家介绍了Vertica集成Apache Hudi的重磅使用指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • Git如何实现撤销提交(命令行+IDEA)

    Git如何实现撤销提交(命令行+IDEA)

    这篇文章主要介绍了Git如何实现撤销提交(命令行+IDEA)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 页面制作统一的头尾的方法(asp+js)

    页面制作统一的头尾的方法(asp+js)

    有时候我们需要统一页面的头尾,如果不是独立,每次要修改文件,就要所有的模板页面都要修改增加麻烦,所以,独立头尾调用,就只需要修改两个页面就可以了。
    2009-04-04
  • GIT相关-IDEA/ECLIPSE工具配置的教程详解

    GIT相关-IDEA/ECLIPSE工具配置的教程详解

    这篇文章主要介绍了GIT相关-IDEA/ECLIPSE工具配置的教程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 永恒之蓝实战教程之Mac通过Metasploit攻击Server2008的详细过程

    永恒之蓝实战教程之Mac通过Metasploit攻击Server2008的详细过程

    这篇文章主要介绍了永恒之蓝实战教程 Mac通过Metasploit攻击Server2008,首先准备一个Server2008,主要功能是使网络上的机器能够共享计算机文件、打印机、串行端口和通讯等资源,需要的朋友可以参考下
    2022-08-08
  • chrome编辑替换js文件的图文教程

    chrome编辑替换js文件的图文教程

    谷歌浏览器是常用来调试JS代码的工具,下面这篇文章主要给大家介绍了关于chrome编辑替换js文件的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 有效的提高编程技能的12个方法

    有效的提高编程技能的12个方法

    以下是提高编程技能的12个方法,主要是不停学习,努力成全才,跟聪明人或有想法的一起
    2012-05-05

最新评论