- 创建分支
$ git branch # 查看当前分支
* master # *HEAD指针指向master
$ git checkout -b dev
Switched to a new branch 'dev' # 已切换到新分支dev
$ git branch
* dev # *HEAD指针从指向master变成指向dev
master
其中,git checkout -b xxx 创建并切换到新分支;-b表示创建并切换,相当于两条命令:
git branch dev & git checkout dev
- 修改后,添加并提交README.md文件(git add/git commit -m "xxx")
g@g-PC MINGW64 /gitskills (dev)
$ git add README.md
warning: LF will be replaced by CRLF in README.md.
The file will have its original line endings in your working directory.
g@g-PC MINGW64 /gitskills (dev)
$ git commit -m "branch test"
[dev e80b360] branch test
1 file changed, 2 insertions(+), 1 deletion(-)
- 切换分支(git checkout 分支名)
g@g-PC MINGW64 /gitskills (dev)
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
- 合并分支(git merge xxx:将xxx分支合并到当前分支)
g@g-PC MINGW64 /gitskills (master)
$ git merge dev
Updating 8867571..e80b360
Fast-forward
README.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
- 删除分支(git branch -d xxx)
g@g-PC MINGW64 /gitskills (master)
$ git branch -d dev
Deleted branch dev (was e80b360).
查看分支合并历史
$ git log --graph --pretty=oneline --abbrev-commit
* fd37db6 (HEAD -> master) merge with no-ff
|\
| * 2821182 (dev) add merge
|/
* bf8aa1e fixed & -> and
* a27e541 conflict fixed a
* 887fdf5 (origin/master, origin/HEAD) conflict fixed 004
* e24b4d5 conflict fixed 003
* 4ba58cc conflict fixed 002
* 75a3c06 conflict fixed
|\
| * fb9395e AND simple
* | 60ae37d & simple
|/
* e80b360 branch test
* 8867571 Initial commit
小结:
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
网友评论