1、创建新分支
在git中创建分支可以使用git branch child-branch father-branch,该命令从father-branch的末梢创建一个分支,也可以使用git branch new-branch,这个命令是从当前的工作分支的末梢创建一个新的分支。
创建新分之后可以使用git checkout name进行分支切换。也可以世界使用git checkout -b new-branch 来实现创建分支并且切换到新分支。
分支从命名使用git branch -m old-name new-name,git branch -d name是删除分支,使用git branch可以显示本地版本库中的所有分支。
在有的版本控制中,创建分支会将所有的文件复制到新目录中,但是在git中不是这样做的,git只是把新分支创建后的修改记录在新分支中。
2、合并分支间修改
分支合并主要介绍三种方法:直接合并、压合合并和捡选合并
1)直接合并
将一条分支直接合并到另一条分支,就是将一条分支的全部历史提交合并到另一天分支。
直接合并首先切换到目标分支,然后使用git merge branch-name命令,这样就将branch-name分支的所有修改都合并到了目标分支了。
2)压合提交
压合指的是将一条分支上的所有历史提交压合成一个提交,提交到另一个分支上。例如在一个新的分支中创建了一个新文件,对这个文件进行了多次修改和提交,在将分支合并到主分支的时候,使用压合提交,那么在主分支的status中对于新文件的提交记录就只有一条,而不是多条。
压合提交使用参数--squash,git merge --squash branch-name。
3)拣选提交
拣选提交就是在合并的时候,只将一个分支的一条提交合并到另一个分支。比如在新分支中对原来的某个文件做了修改,同时实现了一个新类,原有代码的修改还未完成,但是新类已经完成可以供其他代码使用,那么可以只将新类的提交与其他分支进行合并。
因为每次提交都会有一个唯一的提交名称,所以在建选提交时使用提交名称来确定需要合并那个提交。使用cherry-pick参数实现。例如当前有一个提交提交名称是275421,那么使用git cherry-pick 275421就可以实现将该提交合并。
3、删除分支
删除分支时使用git branch -d name,只有要删除的分支已经合并了才可以这样删除。如果确定分支不需要合并,要强制删除,那么使用-D参数