软件测试精进之路百人计划数据蛙数据分析每周作业

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

2019-02-27  本文已影响1人  cynthia猫

续上篇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内容也删了。

上一篇下一篇

猜你喜欢

热点阅读