您的位置:首页 > 其它

Git学习:分布式版本控制(三)

2017-02-19 18:21 239 查看
分布式版本控制

创建与合并分支

每次提交,Git都把它们串成⼀一条时间线,这条时间线就是一个分支。



HEAD指向当前分支。

master用来表示主分支。

  

  当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:

  

 

  从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动⼀一步,而master指针不变。

  


  假如我们在dev上的工作完成了,就可以把dev合并到master上。最简单

的方法,就是直接把master指向dev的当前提交,就完成了合并。

  


  合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了⼀一条master分支。

  


分支命令

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


Bug分支

1. 软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。

  当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue -101来修复它,但是,等等,当前正在dev上进行的工作还没有提交。

  并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么办?幸好,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

  


 此时工作区变成干净的:

 


 Git把stash内容存在某个地方了,

 需要恢复时,可以采用两种方式;

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

另一种方式是用git stash pop,恢复的同时把stash内容也删了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  版本控制 git