git实用知识梳理(二)分支管理

作者: cynthia猫 | 来源:发表于2019-02-27 18:42 被阅读1次

    续上篇git实用知识梳理(一)最基础的知识
    ,这里开始讲讲分支管理的故事。

    分支管理策略

    master分支是稳定的,仅仅用来发布新版本,而不是干活用的。
    dev分支是用来干活的,是不稳定的版本。等需要发布版本的时候,再把dev分支合并到master。
    团队中的每个人都建立自己的分支,然后常常往dev分支合并。

    合并分支,加上-no-ff参数,是用普通模式合并,能看出来曾经做过合并。
    fast forward合并则看不出来曾经做过合并。

    创建、合并分支

    在git里,是使用指针来指向不同的分支,而HEAD则指向当前分支。所以合并两个分支的时候,只要修改指针指向即可。创建分支是增加指针,删除分支则是删除指针。

    git鼓励用分支完成某个任务,合并后再删掉分支。因为创建、合并、删除分支都非常快,而且在分支上工作更安全。

    查看分支:git branch
    创建分支:git branch name
    切换分支:git checkout name
    创建+切换分支:git checkout -b name
    合并某分支到当前分支:git merge name
    删除分支:git branch -d name

    通常,合并分支时,如果可能,Git会用“Fast forward”模式,但这种模式下,删除分支后,会丢掉分支信息。

    如果要强制禁用“Fast forward”模式,可以使用--no-ff参数,表示禁用“Fast forward”。

    解决冲突

    存在冲突时,使用$ git status查看冲突的文件。
    Git会用<<<<<<<,=======,>>>>>>>标记出不同分支的内容。我们查看冲突部分,手工修改解决之后,再提交就可以了。

    分支策略

    master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活。

    dev分支是不稳定的,需要版本发布时,再把dev分支合并到master上,在master分支发布对应版本。

    团队合作的时候,每个人都有自己的分支,然后把自己的分支经常的往dev分支合并。

    团队合作时需要善用git的分支功能。

    bug分支:每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。

    但是,如果需要修改bug的时候,当前正在dev上干活,还没有提交,怎么办?此时可以使用git stash把当前工作现场“储藏”起来,等以后恢复现场后继续工作。

    git stash list命令看刚才的工作现场,恢复的话有两种方式:

    一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

    另一种方式是用git stash pop,恢复的同时把stash内容也删了。

    相关文章

      网友评论

        本文标题:git实用知识梳理(二)分支管理

        本文链接:https://www.haomeiwen.com/subject/batquqtx.html