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

所属分类: 网络编程 / 相关技巧 阅读数: 1625
收藏 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

在这里插入图片描述

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

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

程序员编程从初级到中级的10个秘诀

在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以及面向专家类(MSDN杂志)。
收藏 0 赞 0 分享

关于换行和回车的图文小结

不知道大家用这么多年的电脑,写了这么多的程序,对换行和回车有没有一个认识
收藏 0 赞 0 分享

回车和换行有什么区别?我们平时按下的Enter键是回车还是换行

如果用过机械打字机,就知道回车和换行的区别了。换行就是把滚筒卷一格,不改变水平位置。回车就是把水平位置复位,不卷动滚筒
收藏 0 赞 0 分享

网络编程之get与post的区别与联系

这里来说说get与post的区别与联系,对这方面不懂的鹏哟可以参考下。
收藏 0 赞 0 分享

Web开发人员常用速查手册 英文集合推荐

不管你是多么优秀的程序员,你都不可能记住一切。在你编写程序的过程中碰到问题需要查阅手册的时候,若有现成的手册可参考则可以为你节省很多时间。
收藏 0 赞 0 分享

vs快捷键 用好Ctrl+Enter与Ctrl+Shift+Enter组合键让你的编辑代码速度快了很多

使用Ctrl+Enter组合键在上方插入一行,使用Ctrl+Shift+Enter组合键在下方插入一行
收藏 0 赞 0 分享

对Web开发人员有用的8个网站小结

本文是由比利时的Web开发人员Jean-Baptiste Jung分享的,Jung还在《Web开发/设计人员应当知道的15个网站》这篇文章中推荐了15个相关网站
收藏 0 赞 0 分享

Web开发/设计人员应当知道的15个网站

建个好网站绝非易事,工欲善其事必先利其器。本文编译了15个极其有用的网站,任何一位网站开发者或设计人员都应该收藏起来
收藏 0 赞 0 分享

Application,Session,Cookies对象应用介绍

Application,Session,Cookies对象比较,对于客户端保存登录信息的朋友可以参考下。
收藏 0 赞 0 分享

设计高可用和高负载的网站系统的几个注意事项

随着网站的运营,用户访问量和数据存储量会随着时间发生几何级变化,很快整个系统不堪重负,频繁出现问题。
收藏 0 赞 0 分享
查看更多