Git--分支管理

简介: 分支管理创建分支hubwiz@df0c3c0b9459:~$ git checkout -b dev M readme.

分支管理

创建分支

hubwiz@df0c3c0b9459:~$ git checkout -b dev                                       
M       readme.txt                                                               
D       test.txt                                                                 
Switched to a new branch 'dev' 
  • -b表示参数表示创建并切换
    相当于:
$ git branch dev
$ git checkout dev
Switched to branch 'dev'

查看分支

hubwiz@df0c3c0b9459:~$ git branch                                                
* dev                                                                            
  master  
  • git branch 会列出当前分支,*表示当前分支

切换分支

hubwiz@df0c3c0b9459:~$ git checkout master                                       
Switched to branch 'master'                                                      
hubwiz@df0c3c0b9459:~$ git branch                                                
  dev                                                                            
* master   

分支合并

hubwiz@df0c3c0b9459:~$ git merge dev                                             
Updating 799f847..82cd19f                                                        
Fast-forward                                                                     
 readme.txt |    2 +-                                                            
 1 file changed, 1 insertion(+), 1 deletion(-)                                   
 delete mode 100644 test.txt 

删除分支

hubwiz@df0c3c0b9459:~$ git branch -d dev                                         
Deleted branch dev (was 82cd19f).   


  • 小结

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

产生冲突

例如,下面合并产生冲突:

hubwiz@df0c3c0b9459:~$ git merge feature1                                        
Auto-merging readme.txt                                                          
CONFLICT (content): Merge conflict in readme.txt                                 
Automatic merge failed; fix conflicts and then commit the result. 

当合并的时候,产生冲突,需要首先解决冲突,之后再提交,合并才算是成功。
可以使用如下命令查看合并分支图:

hubwiz@df0c3c0b9459:~$ git log --graph   

bug分支

使用场景:
当前正在dev分支上进行开发,bug分支上有东西要修改,但是你又不想commit 掉dev上正在开发的工作,这时就要需要把当前的工作现场保存起来,改掉bug分支上的东西,然后再回到dev分支上,把暂存点回复,继续开发。类似于程序的中断处理的过程。

hubwiz@df0c3c0b9459:~$ git stash                                                 
Saved working directory and index state WIP on master: e6a468b merged bug fix    
HEAD is now at e6a468b merged bug fix 

查看stash list:

hubwiz@df0c3c0b9459:~$ git stash list                                            
stash@{0}: WIP on master: e6a468b merged bug fix 

git 把stash的内容暂存起来,到后面要恢复下,有两种方法:
- git stash apply:恢复之后,stash内容并不删除,需要git stash drop来进行删除
- git stash pop:执行之后,删除stash内容

目录
相关文章
|
2月前
|
API 开发工具 git
《Git 简易速速上手小册》第3章:分支管理(2024 最新版)
《Git 简易速速上手小册》第3章:分支管理(2024 最新版)
68 1
|
2月前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
601 0
Git教程:深入了解删除分支的命令
|
1月前
|
项目管理 开发工具 git
Git项目管理——分支(三)
Git项目管理——分支(三)
29 2
|
2月前
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
|
1月前
|
开发工具 git
git切换到另一分支更改也会随之过去
git切换到另一分支更改也会随之过去
25 1
|
1月前
|
开发工具 git
git将一个远程分支的部分修改提交到另一个远程分支
git将一个远程分支的部分修改提交到另一个远程分支
16 1
|
2月前
|
开发工具 git
|
2月前
|
开发工具 git
【Git】分支管理的基本操作
【Git】分支管理的基本操作
|
1月前
|
敏捷开发 测试技术 持续交付
【git分支管理策略】如何高效的管理好代码版本
【git分支管理策略】如何高效的管理好代码版本
119 0
|
2月前
|
开发工具 git
Git 保姆级教程(二):Git 分支
Git 保姆级教程(二):Git 分支