1. 拉取推送分支:

"color: #ff0000">2. 分支切换:

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

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

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

      【原因】如同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代码到当前分支,会提示冲突,手动解决冲突

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

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

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

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

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

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

总结

标签:
Git常用场景使用,git,分支

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com

评论“Git常用场景使用之分支操作”

暂无“Git常用场景使用之分支操作”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。