Git常用场景使用方法

 更新时间:2020年08月10日 14:56:12   作者:做猪呢,最重要的是开森啦  
这篇文章主要介绍了Git常用场景使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    1. 本地存在多个commit:

【场景】代码和远程仓库一致,本地修改后,存在多次本地commit,直接push最新的提交,push成功,但本地多次commit记录也会记录到远程仓库中
【举例】第一次提交:添加File1文件,文件内容666666
              第二次提交: 添加File2文件,文件内容888888,修改File1内容

在这里插入图片描述在这里插入图片描述

2. 远程仓库代码回退:

    先本地版本回退:git reset commitid
    本地回退版本强推远程仓库:git push -f

3. rebase操作:

【场景】代码和远程仓库一致,本地修改后存在多次本地commit,本地多次提交的代码没有冲突,rebase合并本地多次commit
【举例】如1中例子,第二次提交为最新提交,希望只保留第二次提交
【操作】3-1. git rebase -i commitid

在这里插入图片描述

   3-2. 之后会进入类似vim的编辑器(i插入修改,修改完:wq保存)
        pick:表示需要提交的commit记录|squash:表示合并到前一个commit
        reword:使用本次提交,但修改commit信息

在这里插入图片描述     

   3-3. 之后会进入提交信息编辑页,修改保存,rebase完毕,合并成功

在这里插入图片描述在这里插入图片描述

【注意】 命令中commitid是两次提交的前一个commitid
                第一个pick不可修改,可以将后面的squash
                如果页面显示noop,就是你的commitid选的是最新提交的commit,这样是不对的

4. push冲突

【场景】本地commit了,但在push之前,远程代码被别人修改过了,代码冲突的情况处理
【举例】添加一个File3,提交前手动修改远程仓库代码(模拟别人提交修改了远程仓库代码),远程仓库代码被修改后,本地push
【操作】4-1. 添加File3

在这里插入图片描述

        4-2. 修改远程仓库代码

在这里插入图片描述

        4-3. 本地push代码,提示冲突,选择Merge,直接push成功

在这里插入图片描述

        4-4 . Merge后推送到远端有两条commit(因为这次push只修改了File3,并没有修改File1,Merge后相当于先拉取代码再提交,所以直接push成功)

在这里插入图片描述

【举例】添加一个File3,并修改File1,提交前手动修改远程仓库代码(模拟别人提交修改了远程仓库代码),远程仓库代码被修改后,本地push需要手动解决冲突。
【操作】4-a. (版本回退后)添加File3,修改File1

在这里插入图片描述

        4-b. 修改远程仓库代码

在这里插入图片描述

        4-c. 本地push代码,提示冲突,选择Merge后手动解决冲突
            Accept Yours: 该文件选择你的版本合并到远端
            Accept Theirs: 该文件选择远端的版本,即放弃该文件的修改
            Merge :对比本地和远端的差异,手动解决冲突,一般都Merge

在这里插入图片描述

         左边是本地的修改,右边是远端的代码,中间是最终推送远端

在这里插入图片描述

        看情况对比修改

在这里插入图片描述

        修改确认后可能会出现push被拒绝,再重新提交一次就好了。

在这里插入图片描述

在这里插入图片描述

【建议】本地先拉取代码,如果冲突手动解决冲突,然后再push

【注意】没有commit就拉取代码,并且Accept Theris,可能会把本地修改过的代码覆盖掉,导致修改的代码丢失,注意备份。
-------------------------------------------------想到别的场景后续再补充------------------------------------------------------------

总结

到此这篇关于Git常用场景使用的文章就介绍到这了,更多相关Git常用场景使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 分享五个最佳编程字体

    分享五个最佳编程字体

    这篇文章主要介绍了分享五个最佳编程字体,需要的朋友可以参考下
    2016-10-10
  • 详解git merge 与 git rebase的区别

    详解git merge 与 git rebase的区别

    这篇文章主要介绍了详解git merge 与 git rebase的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • git中commit和push的区别及说明

    git中commit和push的区别及说明

    这篇文章主要介绍了git中commit和push的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 页面制作统一的头尾的方法(asp+js)

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

    有时候我们需要统一页面的头尾,如果不是独立,每次要修改文件,就要所有的模板页面都要修改增加麻烦,所以,独立头尾调用,就只需要修改两个页面就可以了。
    2009-04-04
  • vscode通过多个跳板机连接目标机的方法(两种方案亲测成功)

    vscode通过多个跳板机连接目标机的方法(两种方案亲测成功)

    这篇文章主要介绍了vscode通过多个跳板机连接目标机的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-03-03
  • 微信小程序 iPhoneX底部安全区域(底部小黑条)适配(一分钟解决)

    微信小程序 iPhoneX底部安全区域(底部小黑条)适配(一分钟解决)

    iPhone X 对于微信小程序的tabbar来说,会被底部小黑条覆盖,需要处理,大概思路是,得到手机型号、分别判断样式。这篇文章主要介绍了微信小程序 iPhoneX底部安全区域(底部小黑条)适配问题,需要的朋友可以参考下
    2019-10-10
  • 微信小程序给图片做动态标注的实例分享

    微信小程序给图片做动态标注的实例分享

    这篇文章主要介绍了微信小程序给图片做动态标注的一个简化的教程,帮助你了解如何在微信小程序中实现图片标注的功能,需要的朋友可以参考下
    2023-08-08
  • webp 格式图片显示异常分析及解决方案

    webp 格式图片显示异常分析及解决方案

    WebP,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,能节省大量的服务器带宽资源和数据空间,这篇文章主要介绍了webp 格式图片显示异常分析及解决方案,需要的朋友可以参考下
    2023-04-04
  • Eclipse 格式化代码时不换行与自动换行的实现方法

    Eclipse 格式化代码时不换行与自动换行的实现方法

    每次用Eclipse自带的Ctrl+shift+f格式化代码时,如果原来的一行代码大于80列,Eclipse就会自动换为多行,这点个人感觉不是很舒服,简单试了一下,通过以下方式可以修改
    2009-05-05
  • 五个最佳编程文本编辑器分享

    五个最佳编程文本编辑器分享

    五个最佳编程文本编辑器分享,经常编写代码的朋友可以参考下
    2012-04-04

最新评论