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 对本地分支进行合并 并进行代码提交的流程的更多相关文章

  1. git使用小结(本地分支与远程分支、git命令)

    git git 是一个版本管理系统(VCS),可以在任何时间点,将文档的状态作为一份更新记录保存起来,并且在任意的时间点,恢复更新记录 版本管理 版本管理是一种记录文件变化的方式,方便查阅特定版本号的 ...

  2. git push -u origin master和git push <远程主机名> <本地分支名>:<远程分支名>作用

    git push git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. $ git push <远程主机名> <本地分支名>:< ...

  3. Git怎样撤销一次分支的合并Merge

    出现的问题: 某一天,所有的开发文件已经在development分支上,但是这时候,线上出了一个问题,需要及时修复,于是从master分支上,拉了一个bug分支,进行处理,master分支本应合并bu ...

  4. Git 创建两个“本地分支”协同工作

    一 代码拉下来后,首先创建两个本地分之 $repo start master . //仅仅用于同步服务器的修改(此处master名字可以随意定,但是建议定成这样,好记忆) $repo start wo ...

  5. git 使用远程分支覆盖本地分支(重置本地分支)

    1 丢弃本地变更 重置为远端分支内容 git reset --hard origin/branchName 如 git reset --hard origin/F_AssetItem

  6. git 删除远程和本地分支

    RenGuoQiang@PC-RENGUOQIANG MINGW64 /d/zgg/zgg-crm (dev-rgq-userworkstatus) $ git push origin --delet ...

  7. git 本地分支与远程分支 新建/删除/合并

    github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...

  8. git 本地分支与远程分支

    github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...

  9. git分支的合并

    原文: http://gitbook.liuhui998.com/3_3.html http://gitbook.liuhui998.com/5_3.html 一.如何分支的合并 在git中,可以使用 ...

随机推荐

  1. ubuntu apt-get 代理

    # cat /etc/apt/apt.conf Acquire::http::Proxy "http://109.105.4.17:8119"; Acquire::https::P ...

  2. CentOS 7 调整 home分区 扩大 root分区

    总体过程: 把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home ,恢复/home内容 1.查看分区 df -h 2.备份home分区文件 tar c ...

  3. class.__subclasses__()

    [class.__subclasses__()] Each class keeps a list of weak references to its immediate subclasses. Thi ...

  4. linux 一个网卡配置多个IP

    在Redhat系列(redhat,Fedora,Centos,Gentoo)中的实现方法如下: 1.单网卡绑定多IP在Redhat系列中的实现方法 假设需要绑定多IP的网卡是eth0,请在/etc/s ...

  5. httpwebrequest详解

    HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性.这两个类位 于System.Net命名空间,默认情况下这个类对于控制台程 ...

  6. css position说明

    absolute 生成绝对定位的元素,选择第一个position不等于 static 定位的第一个父元素进行定位. 元素的位置通过 "left", "top", ...

  7. MyEclipse文件查找技巧

    只为成功找方法,不为失败找借口! MyEclipse使用总结——MyEclipse文件查找技巧 一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字 ...

  8. Djanjo 的app 模板路径 静态文件 完整版登录 新手三件套 以及orm

    一: django中app的概念: 一个项目可以包含多个应用(app,类似于模块,主页打开多个模块就是多个app) 创建了app,要在配置文件中注册 二:模板路径配置: 1 templates文件夹 ...

  9. android studio使用真机测试时点击Debug调试模式时报Error running app:No target device found,点击运行模式却是启动正常的

    原因是adb没检测到设备(包括真机和虚拟机). 在Terminal执行adb devices命令,查看有没有连接到的设备. 如果没有设备,确认虚拟机是否正确打开,真机是否连接打开USB调试并安装驱动. ...

  10. swoole多进程操作

    多个任务同时执行 将顺序执行的任务,转化为并行执行(任务在逻辑上可以并行执行) 比如,我们要对已知的用户数据进行判断,是否需要发送邮件和短信,如果需要发送则发送. 不使用多进程时,我们首先判断是否发送 ...