2016 2016年7月4日 2 min · 514 words by yxc023

git实际开发语句

git

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.

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

  • dev上的代码merge到分支:

      git merge dev
  • dev上merge分支代码

  • 在dev上执行git pull发现不是fast forward

  • 在任何分支上执行git pull发现不是fast forward

合并为一次提交

方法一

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

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

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

git rebase dev -i

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

评论