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中,可以使用 ...
随机推荐
- 24.Swap Nodes in Pairs (List; Two-Pointers)
Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...
- mysql 求2个坐标之间的距离
CREATE DEFINER=`root`@`%` FUNCTION `f_GetDistance`(lng1 DOUBLE,lat1 DOUBLE,lng2 DOUBLE,lat2 DOUBLE) ...
- Shiro和Spring 集合实现同一个账号只能一个人在线使用,其它人在使用进行剔除(八)
1.实现原理其实就是自定义过滤器,然后登录时,A登录系统后,B也登录了,这个时候获取此账号之前的session给删除,然后将新的session放入到缓存里面去,一个账户对应一个有序的集合 编写自定义过 ...
- 枚举Enum转换为List,获取枚举的描述
代码: public class EnumberHelper { public static List<EnumberEntity> EnumToList<T>() { Lis ...
- JavaScript stringObject.replace() 方法
定义和用法: replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法: stringObject.replace(RegExp/substr,reol ...
- PHP安装memcache扩展
1.下载memcache.dll扩展 http://pecl.php.net/package/memcache/3.0.8/windows .下载完成之后, 将其中的php_memcache.dll ...
- [Training Video - 6] [File Reading] Making a Jar file with eclispe, Importing custom jars in SoapUI
Code example : package com.file.properties; import java.io.FileInputStream; import java.util.Propert ...
- radiobutton 选中的项不能去掉选择的问题
代码如下: RadioButton rbtn = new RadioButton(getApplicationContext()); rbtn.setText(String.valueOf(item. ...
- PHP(九)数组(2)
- ZOJ3767 Elevator 2017-04-13 23:32 37人阅读 评论(0) 收藏
Elevator Time Limit: 2 Seconds Memory Limit: 65536 KB How time flies! The graduation of this ye ...