Git常用场景使用之分支操作
作者:做猪呢,最重要的是开森啦 发布时间:2022-01-06 02:10:56
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
【建议】修改代码前明确分支,提交代码前先拉取代码,有冲突则解决冲突。
来源:https://blog.csdn.net/weixin_43901882/article/details/107892972


猜你喜欢
- torchvision包 包含了目前流行的数据集,模型结构和常用的图片转换工具。torchvision.datasets中包含了以下数据集M
- 前言:WebDriver提供了两个关闭浏览器的方法,一个是前边使用quit()方法,另一个是close()方法close():关闭当前窗口q
- 示例如下:<script> //函数: 反复执行的代码块 //全局只有一个对
- PHP获取当前url路径的函数及服务器变量:代码:<?php$path = /usr/opt/../ect/abcd;echo $_S
- IE测试通过,FF有点小BUGCls_Leibie.asp代码如下:<% '数据库字段为类属性,添加、删除、修改、操
- 最近闲来无事, 于是就简单学习了下Go语言的基本的用法。由于实践才是最快的学习方法,所以这里就以下载网络图片或文件入手来学习Go语言文件下载
- 一个线上问题的引发的思考 今天上班的时候,开发的同事拿过来一个.zip的压缩包文件,说是要把里面的数据
- 这篇文章主要介绍了python线程定时器Timer实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- input框点击后不聚焦问题废话不多说直接上代码哪个地方要写input框 就直接把这一部分代码放上 里面双向绑定的
- IE8 的测试版发布,ACID 3 测试正式推出,听上去是让人兴奋的技术进步,而对中文互联网站却是极大的威胁:这意味着,超过半数的中文网页在
- 1、MSSQL2000 SELECT 表名 = case when a.colorder=1 then d.name else '&
- 本文实例为大家分享了简单的Python登录验证,供大家参考,具体内容如下编写登录接口要求:1、输入用户名密码2、认证成功后显示欢迎信息3、输
- 本文主要研究的是Python编程删除服务器文件,具体实现 代码如下。实例1#coding:utf-8import paramiko"
- 最简单的方法当然可以直接print(net),但是这样网络比较复杂的时候效果不太好,看着比较乱;以前使用caffe的时候有一个网站可以在线生
- 1、命令行工具概述日常命令行操作,相对应的众多命令行工具是提高生产力的必备工具,鼠标能够让用户更容易上手,降低用户学习成本。 而对于开发者,
- 在本章中,我们将详细讨论对称和非对称密码术.对称密码术在此类型中,加密和解密进程使用相同的密钥.它也被称为秘密密钥加密.对称加密的主要特征如
- 介绍此教程为我的数篇文章中的一个重点。主题是魔术方法。 什么是魔术方法?他们是面向对象的Python的一切。他们是可以给你的类增加"
- Juan Pablo De Gregorio 的 原文很多人都问我如何为一本杂志、一份报纸、一张海报、一份简报或是一份出版物选择
- 目录提问:回答:真实情况:知识点结论:总结提问:mysql的字段,unsigned int(3), 和unsinged int(6), 能存
- 平衡二叉树:在上一节二叉树的基础上我们实现,如何将生成平衡的二叉树所谓平衡二叉树:我自己定义就是:任何一个节点的左高度和右高度的差的绝对值都