Git分支管理

基础概念了解

分支:每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支;
master分支:在Git里,叫主分支,指向提交;
HEAD:指向当前分支;

创建分支

$ git branch dev // 创建dev分支
$ git checkout dev // 切换到dev分支,HEAD指向dev分支
// 或者
$ git checkout -b dev // 表示创建并切换

$ git branch // 查看当前分支
// 列出所有分支,当前分支前面会标一个*号

// 如果现在进行修改和提交操作,则是在dev分支上进行,而master分支内容不会被修改
  
//把dev分支的工作成果合并到master分支上
$ git merge dev // git merge命令用于合并指定分支到当前分支
// 首先先用 $ git checkout master 切换回master分支,再把dev分支合并到master分支

删除分支

$ git branch -d dev // 删除dev分支

小结

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

删除分支2

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。

$ git checkout -b dev // 创建并切换到dev分支
$ git add readme.txt  // 上传readme.txt文件(修改后的文件)
$ git commit -m "add merge" // 提交文件
$ git checkout master // 切换回master
$ git merge --no-ff -m "merge with no-ff" dev // 合并dev分支,参数--no-ff,表示禁用Fast forward
// 因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去
$ git log --graph --pretty=oneline --abbrev-commit // 用git log看看分支历史

你可能感兴趣的:(Git分支管理)