04 七月 2016

dev上工作git指南

  1. 切到dev分支

    git checkout dev
    
  2. 开分支

    git checkout -b bug/JRTE-333-问题描述
    

    或者

    git checkout -b feature/JRTE-333-需求描述
    
  3. 开发

    .....
    
  1. 提交分支

    git push origin [你的分支名字]
    
  2. 发起merge request

    登陆git.lianjia.com发起
    
  3. 如果一切正常, 就结束了. 如果发现merge request有冲突, 不能合并, 转 7

  4. merge request有冲突

    1. 切换到dev, 更新之.

      git co dev
      git pull
      
    2. 切回你的分支.

      git co [你的分支名字]
      
    3. rebase! 难以理解而又复杂的一步. 但做过一次你就会了!

      进行rebase

      git rebase dev
      

      git rebase dev 的意思是将你的分支上的每一次提交, 应用到dev分支的尾部.

    4. 如果提示有冲突, 转7.5. 如果没有冲突:

      因为你push过你的分支, 所以远程你的分支本地你的分支已经不一致了. 所以强行覆盖你的远程分支

      git push -f origin [你的分支名字]
      

      然后你就发现你的merge request显示可以自动合并了.

    5. 解决冲突, 然后根据提示执行:

      git add [冲突文件]
      git rebase --continue
      

      如果还有冲突, 转7.5, 如果没有, 转7.4.

如果出现以下情况, 很有可能你就错了

合并为一次提交

方法一

git reset [分支开始version]
git add .
git commit

方法二, 保证没有冲突, 且合并为一次提交!

4. 提交分支 时, 先更新dev分支, 然后在你的分支执行

git rebase dev -i

把除了第一个pick全改成s或者squash. 提示很全, 试试吧.