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中,可以使用 ...
随机推荐
- Linux学习---Linux目录结构说明
1./- 根 每一个文件和目录从根目录开始. 只有root用户具有该目录下的写权限.请注意,/root是root用户的主目录,这与/.不一样 2./bin中 - 用户二进制文件 包含二进制可执行文件. ...
- 第七章 二叉搜索树 (a)概述
- 安装zoom
ubuntu zoom下载地址:https://zoom.us/download?os=linux 安装: sudo apt-get install libxcb-xtest0 sudo dpkg - ...
- unity3d 移动与旋转 2
这次的代码示例是配合动画系统使用的 4.3新的动画系统允许动画带有位置偏移,只需要在Animator组件中勾选Apply Root Motion我们就可以使用它了. using UnityEngine ...
- 深入理解那该死的BOM
BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF.这个标记是可选的,因为UTF8字节没有顺序, ...
- leetcode 14 最长公共前缀
描述: 给个字符串vector,求最长公共前缀. 解决: 直接取第一个字符串作为最长公共前缀,将其每个字符遍历过一次.设最长字符实际为k,共n个元素,则复杂度O(nk) string longestC ...
- 如果使用mybatis的逆向工程生成的po类及mapper,如果我们想要进行的对数据库的操作在mapper中没有对应的接口函数:比如生成的mapper接口中没有按照姓名及性别混合条件查询。我们的解决办法是:使用逆向工程生成的对应表的Example文件。
1.使用mybatis逆向工程生成的po类中包含UserExample文件(我的数据库表名为User). 2. 创建UserExample对象,然后对加入条件.对应的测试代码为: /* * 通过姓名和 ...
- YUI前端优化之内容篇
Excetional Performance团队总结出了一系列可以提高网站速度的方法.可以分为7大类34条.包括内容.服务器.cookie.CSS.JavaScript.图片.移动应用等七部分.一.内 ...
- 一些json在js和c++ jsoncpp的操作
1.对于javascript部分,如果将字符串转为json对象? var aa ={ keyword:"zoumm", requestcount:"5", ne ...
- 禁止进入activity自动弹出键盘
禁止进入activity自动弹出键盘 在Manifest.xml中设定activity的属性 android:windowSoftInputMode="stateHidden|stateUn ...