Git常用场景使用之分支操作

所属分类: 网络编程 / 相关技巧 阅读数: 1640
收藏 0 赞 0 分享

    1. 拉取推送分支:

​    git branch 分支名 : 创建分支
​    git checkout 分支名 : 切换分支
​    git checkout –b 分支名 : 创建并切换到新分支
​    本地拉取分支后推送到远程:
​        git push <远程主机名> <本地分支名>:<远程分支名>
        【注意】直接git push 会将当前本地分支推送到对应远端同名分支,如果远端没有同名分支则会新建同名分支
    ​   【举例】git push 和git push origin branchTest是等效的,都是将本地branchTest分支推送到远端

2. 分支切换:

        举例的切换都是从branchTest切master分支

       【场景1】分支切换后提示: Your local changes to the following files would be overwritten by checkout

在这里插入图片描述 

      【原因】如同push出现冲突问题一样,该切换问题是因为当前branchTest修改代码后,和master代码冲突
                     比如,master的File1未666666、777777两行;branchTest修改后把777777删掉了,切换的时候就会出现该问题;
                     如果branchTest修改时,不对master的代码做改动,即单纯的添加888888,则不会出现该问题。
       【解决1】Force Checkout 会保留原汁原味的master代码,分支修改的代码不会出现再master
                      Smart Checkout选择让你手动解决冲突,可参考:链接的第4点
                      Don't Checkout 就是让你放弃切换分支
       【解决2】Don't Checkout放弃切换,然后commit一下,再切换,就不会有如上问题
                      但这样会导致本地存在多个commit,到时还得合并多个本地commit

3. 在错误的分支修改了代码:

       【场景】在branchTest修改完代码后,发现分支错了,应该是要在master是修改的
       【解决1】未commit情况下,切换master分支,如上解决冲突;
                       commit了的话,可以reset后再切换;当然如果改动不大,可以切换后重新修改吧,
       【解决2】如果能确定push前远端两个分支的代码是一样的, 那么可以git push origin branchTest:master将branchTest提交的代码推送到远端commit分支
       【解决3】 如果push前远端两个分支的代码不一样,会push rejected
             3-3-a. pull远端master代码到当前分支,会提示冲突,手动解决冲突

在这里插入图片描述

            3-3-b. 代码重新commit
               手动解决冲突后,可以看见log中,之前提交的commit已经断开了,所以需要重新提交commit

在这里插入图片描述

              重新commit后,会自动合并回来,这样就可以git push origin branchTest:master

在这里插入图片描述

       【建议】修改代码前明确分支,提交代码前先拉取代码,有冲突则解决冲突。

更多精彩内容其他人还在看

StringBuider 在什么条件下、如何使用效率更高

都说 StringBuilder 在处理字符串拼接上效率要强于 String,但有时候我们的理解可能会存在一定的偏差。今天小编给大家带来一篇教程关于StringBuider 在什么条件下、如何使用效率更高?感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

2020年最火的6种编程语言推荐

当下计算机编程语言总数达到好几万种,但是最流行的编程语言有哪些呢,今天,小编就给大家盘点一下2020年很受欢迎的编程语言,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

遵守这些原则让你开发效率提高一倍(收藏)

这篇文章主要介绍了遵守这些原则让你开发效率提高一倍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

使用idea 去除 html 代码前的行号和空行的方法详解

这篇文章主要介绍了使用idea 去除 html 代码前的行号和空行,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

云开发 VSCode 插件 Cloudbase Toolkit 的正确打开方式及应用场景分析

Tencent CloudBase Toolkit 是云开发的 VS Code(Visual Studio Code)插件。这篇文章主要介绍了云开发 VSCode 插件 Cloudbase Toolkit 的正确打开方式,需要的朋友可以参考下
收藏 0 赞 0 分享

12个Visual Studio调试效率技巧(小结)

这篇文章主要介绍了12个Visual Studio调试效率技巧,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

fiddler抓包小技巧之自动保存抓包数据的实现方法分析【可根据需求过滤】

这篇文章主要介绍了fiddler抓包小技巧之自动保存抓包数据的实现方法,较为详细的分析了fiddler自动保存抓包数据及根据需求过滤相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

解决IDEA中编辑HTML格式文件不自动缩进问题

这篇文章主要介绍了解决IDEA中编辑HTML格式文件不自动缩进问题,本文内容简短,解决方法给大家提出了,需要的朋友可以参考下
收藏 0 赞 0 分享

vsCode中配置setings.json的技巧

本文给大家分享的是一个在vsCode中配置好的setings.json的样例,可以给大家一个参考,有需要的小伙伴可以来看下
收藏 0 赞 0 分享

全网最详细的vscode基础教程

vscode全称为visual studio code,是微软旗下一款非常优秀的跨平台代码编辑软件。vscode 中文版集成了大部分代码编辑的器的优点,集成GIT、代码调试、语法高亮,拥有强大丰富的插件系统
收藏 0 赞 0 分享
查看更多