git 使用merge 对本地分支进行合并 并进行代码提交的流程
1.只有当将修改内容commit后 该修改才完全生效,进行merge前需要将两个分支修改的内容都进行commit
2.假设本地两个分支 用于开发的分支:dev 用于同步远程仓库的分支:master
3.切换到master分支 进行 (git pull origin 远程分支) 不要在master 分支进行开发(也不要在master分支进行add commit),以此保证当在master分支进行git pull 不会产生冲突(如果不慎在master分支修改了内容, 可以先撤销所有修改,再将版本回退到没有冲突的地方)
4.在master分支拉取了最新代码后,如果没有在master分支进行过开发,那么这个分支内容就是没有冲突的最新的内容
5.切换到dev分支, 将所有的修改进行add 以及commit 然后 git merge master 将master 的分支合并过来
- merge 遇见冲突后会直接停止,等待手动解决冲突并重新提交 commit 后,才能再次 merge
- merge 是一个合并操作,会将两个分支的修改合并在一起,默认操作的情况下会提交合并中修改的内容
# 需要将dev分支的修改都进行commint
python@ubuntu:~/Desktop/learning_git$ git commit -m "a=dev"
# 输出内容, 提示该commit做了哪些修改
[dev b8b4023] a=dev
file changed, insertion(+), deletion(-)
python@ubuntu:~/Desktop/learning_git$ git status
位于分支 dev
无文件要提交,干净的工作区
# 将master分支的代码合并过来(在此之前要保证master分支的代码是最新的代码)
python@ubuntu:~/Desktop/learning_git$ git merge master
# 提示有冲突, 合并失败, 根据提示找到文件, 解决冲突后, 重新git add 和 git commit
自动合并 .txt
冲突(内容):合并冲突于 .txt
自动合并失败,修正冲突然后提交修正的结果。
python@ubuntu:~/Desktop/learning_git$ git status
位于分支 dev
您有尚未合并的路径。
(解决冲突并运行 "git commit") 未合并的路径:
(使用 "git add <文件>..." 标记解决方案) 双方修改: .txt 修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
6.进入文件修改冲突内容
<<<<<<< HEAD
a=dev
=======
a=6
>>>>>>> master
<<<<<<<<HEAD
a=dev
=======
(当前所在分支的内容)
=======
a=6
>>>>>>> master
(master分支的内容,修改冲突) 7.修改完冲突以后重新 git add git commit 然后就可以 git push 提交代码了.这里如果因为某些原因,本地的开发分支进行了版本回退,这样的话因为本地代码的版本落后于远程的分支,所以git是不允许进行提交代码的,这时就需要确认是否需要保留远程分支的代码,如果需要保留,那么就需要先拉取一下远程分支的代码到本地进行合并,然后再进行开发或修改,如果远程分支的代码是受到污染的,需要保留的是本地分支的代码, 那么就可以放心进行开发,完成后使用命令
git push origin 远程开发分支名称 -f
进行强制性推送代码,覆盖远程分支的代码为当前版本的代码
git 使用merge 对本地分支进行合并 并进行代码提交的流程的更多相关文章
- git使用小结(本地分支与远程分支、git命令)
git git 是一个版本管理系统(VCS),可以在任何时间点,将文档的状态作为一份更新记录保存起来,并且在任意的时间点,恢复更新记录 版本管理 版本管理是一种记录文件变化的方式,方便查阅特定版本号的 ...
- git push -u origin master和git push <远程主机名> <本地分支名>:<远程分支名>作用
git push git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. $ git push <远程主机名> <本地分支名>:< ...
- Git怎样撤销一次分支的合并Merge
出现的问题: 某一天,所有的开发文件已经在development分支上,但是这时候,线上出了一个问题,需要及时修复,于是从master分支上,拉了一个bug分支,进行处理,master分支本应合并bu ...
- Git 创建两个“本地分支”协同工作
一 代码拉下来后,首先创建两个本地分之 $repo start master . //仅仅用于同步服务器的修改(此处master名字可以随意定,但是建议定成这样,好记忆) $repo start wo ...
- git 使用远程分支覆盖本地分支(重置本地分支)
1 丢弃本地变更 重置为远端分支内容 git reset --hard origin/branchName 如 git reset --hard origin/F_AssetItem
- git 删除远程和本地分支
RenGuoQiang@PC-RENGUOQIANG MINGW64 /d/zgg/zgg-crm (dev-rgq-userworkstatus) $ git push origin --delet ...
- git 本地分支与远程分支 新建/删除/合并
github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...
- git 本地分支与远程分支
github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...
- git分支的合并
原文: http://gitbook.liuhui998.com/3_3.html http://gitbook.liuhui998.com/5_3.html 一.如何分支的合并 在git中,可以使用 ...
随机推荐
- zookeeper分布式锁和服务优化配置
转自:https://www.jianshu.com/p/02eeaee4357f?utm_campaign=maleskine&utm_content=note&utm_medium ...
- sdm 使用阿里云域名申请 Let’s Encrypt 通配符 域名证书
安装acme 进入 套件中心 点击安装 Git Server 之后进入SSh会使用git命令 方法1--------------------------------------- 获取代码 git c ...
- Tomcat域名映射和端口设置
1.打开tomcat主目录 ---> 打开conf目录 ---> 找到并打开server.xml文件 2.修改tomcat的监听端口为80端口 在文件中找到: <Connecto ...
- NBU 还原windows ORACLE数据库(BW)
将0.92数据库还原到1.92,还原时间7月13日 1.查询所需要的控制日志 bplist -C bw-prd01 -s -- -e -- -k oracle_bw-prd01_0_92_arch - ...
- 【mysql数据库】一条语句添加多条数据
insert into persons (id_p, lastname , firstName, city ) values (200,'haha' , 'deng' , 'shenzhen'), ( ...
- linux sudo 系统环境变量 用户环境变量
1. sudo就是普通用户临时拥有root的权限.好处在于,大多数时候使用用户自定义的配置,少数情况可以通过sudo实现root权限做事. 故而,需要注意的一点是,在你使用了sudo后,你临时不再是原 ...
- Gcc And MakeFile Level1
简单介绍gcc And make 的使用 基本编译 gcc a.c b.c -o exeName 分步编译 gcc -c a.c -o a.o gcc a.o b.c -o main.o 使用Make ...
- 2.QWidget类
简述: QWidget类是所有用户界面对象的基类. Widget是用户界面的基本单元:它从窗口系统接收鼠标,键盘和其他事件,并在屏幕上绘制自己. 每个Widget都是矩形的,它们按照Z-order进行 ...
- Caffe 议事(二):从零开始搭建 ResNet 之 网络的搭建(上)
3.搭建网络: 搭建网络之前,要确保之前编译 caffe 时已经 make pycaffe 了. 步骤1:导入 Caffe 我们首先在 ResNet 文件夹中建立一个 mydemo.py 的文件,本参 ...
- PHP 微信公众号开发 - 获取用户信息
项目微信公众号开发,记录获取用户微信号信息,和用户openid 1,登录微信公众平台 点击登录微信公众平台 2,获取公众号开发信息 登陆之后在 开发->基本配置 3,设置IP白名单 在这里添加服 ...