Git 分支管理
- 分支的概念
- 分支基本使用
- 分支合并
- 分支衍合
Git 分支的概念
- 多个提交组成一个链
- 分支的本质:指向一个commit的指针
- 切换分支时,HEAD如何变化 ?
-
Git 分支基本使用
- 创建分支
- 方法一:git branch new_branch [start_point]
- 方法二:git checkout –b new_branch
- 在某分支上创建新分支:
- git checkout –b new_branch old_branch
- 查看分支
- git branch [-a][–merged][–no-merged]
- 切换分支
- git checkout branch
- 分支重命名
- 对于未冲突的分支名
- git branch –m oldbranch newbranch
- 对于已经存在的分支
- git branch –M oldbranch newbranch
- 对于未冲突的分支名
- 删除分支
- 对于已经合并的分支,直接删除
- git branch –d branch
- 对于未合并的分支,强制删除
- git branch –D branch-name
- 对于已经合并的分支,直接删除
- 创建分支
-
案例
- 查看分支
$ git branch
dev
* master
- 创建分支
$ git branch testing
$ git branch
dev
* master
testing
- 切换分支
$ git checkout testing
Switched to branch ‘testing’
$ git branch
dev
master
* testing
- 创建 + 切换分支
$ git checkout -b newtest
Switched to a new branch ‘newtest’
$ git branch
dev
master
* newtest
testing
- 删除分支
$ git branch -d newtest
Deleted branch newtest (was 42deb14).
$ git branch
*master
newtest
$ ls
README test.txt
$ git merge newtest
Updating 3e92c19…c1501a2
Fast-forward
runoob.php | 0
test.txt | 1 -
2 files changed, 1 deletion(-)
create mode 100644 runoob.php
delete mode 100644 test.txt
$ ls
README runoob.php