Git的基本操作:分支管理

8 分支管理

这里主要体现的git的功能的分离,这才是真正的git吧。每一个分支都是一个单独的可以分离的工作单位。每个用户可以建立不同的分支进行工作,最终提交到同一个开发分支上。一个用户可以建立不同的分支实现不同的功能,最终提交到同一个用户分支上。分支的灵活性,可以让我们很容易的实现不同分工的分割。

创建分支

git checkout -b dev

创建分支,并且将工作目录切换到dev的工作目录上。

git branch dev

使用当前版本分支创建新的分支(即添加一个分支指针)。

git checkout dev

将工作区切换到某一个分支指针所指的版本上。

git branch

会列出所有的分支目录。

分支合并

git merge dev

将dev分支合并到当前工作目录下的分支上(不一定是产生他的父分支)

git branch -d dev

用来删除一个已经无效的分支指正,但是在这个分支指针上左右的操作都会保留。

解决冲突

  • 当合并过程中出现冲突,会进入长途解决工作区,手动解决后提交,就会退出。

  • 关于一点,提交后的分支有必要继续工作吗,都行。完全可以提交后删掉重新创建一个分支,获取主干分支上集成的最新内容,然后继续工作。也可以直接在分支上合并一次主干分支,然后得到最新的内容,继续在原来的分支上进行工作。

git log --graph

可以查看分支合并图。

分支合并方式

git merge --no-ff -m "merge messge" dev --no-ff

不适用fastfoward方式进行合并,会产生一个新的版本节点。加上-m参数,是因为这种方式合并过程中会自己提交合并后的版本。

分支管理

  • 团队合作的分支管理组图就是你们要的方式

Git的基本操作:分支管理_第1张图片

BUG分支

  • 因为总会在自己工作的过程中出现紧急的需要更改的bug,但是现在工作区中的内容还不能提交,所以必须生成现在工作区的一个快照,等处理完紧急的bug之后,再来回复工作区的内容。
git stash

将当前的工作现场储存起来,等到修复完成bug之后可以再次进行更改。工作现场包括工作区和stage缓存区。然后可以清空工作区和缓存区的内容,新建bug分支进行工作。

git stash list

用来查看保存中的工作区。

git stash apply stash@{0}

恢复stash内容,但并不清楚stash列表中的内容。

get stash drop

用来删除stash列表中的内容。(因为已经恢复或者没有必要恢复)

git stash pop

可以用来弹出stash列表中的内容。

Feature分支

  • 当添加一个新的功能的时候,因为是一些实验性的代码,所以要创建一个单独的分支进行处理。

  • git checkout -b feature-vulcan

创建一个新的功能分支

git status

git add vulcan.py

git commit -m "add feature vulcan"

git checkout dev

git merge vulcan.py

git branch -D feature-vulcan 不合并,强制删除

你可能感兴趣的:(git)