Git本地分支操作

转自文章《git使用教程三 本地分支操作》https://blog.csdn.net/yangwen123/article/details/8664637

创建分支

[plain]  view plain  copy
  1. $ git branch testing        #创建新分支testing  
  2. $ git checkout –b testing       #创建并切换到testing分支  
  3. $ git checkout –b testing master    # 基于master分支创建并切换到testing分支  

切换分支

[plain]  view plain  copy
  1. $ git checkout  testing   #切换到testing分支,HEAD执向testing分支  


分支提交

[plain]  view plain  copy
  1. $ git checkout testing      #切换到testing分支  
  2. $ git commit –am “update ui”    #提交后, HEAD 随着分支一起向前移动  


[plain]  view plain  copy
  1. $ git checkout master  
  2. $ git commit –am “update tools”  
  3. 提交后 HEAD 随着分支一起向前移动  

分支合并

[html]  view plain  copy
  1. git merge  
  2.     1.将一个分支的修改合并到另一个分支上。  
  3.     2.三方合并,会形成merge节点。  
  4.     3.快速前进,不会形成merge节点,分支图呈线性。  
  5. 当前 master 分支所在的 commit 是要并入的 hotfix 分支的直接上游,Git 只需把指针直接右移。换句话说,如果顺着一个分支走下去可以到达另一个分支,那么 Git 在合并两者时,只会简单地把指针前移,因为没有什么分歧需要解决,所以这个过程叫做快进(Fast forward)。  
  6.         --commit 合并后自动提交  
  7.     --no-commit 合并后仅仅改变当前分支中的工作区的文件内容  
  8.     -m 自动提交时所使用的注释  



合并冲突

[plain]  view plain  copy
  1. git merge 冲突解决  
  2. 1、冲突产生的原因  
  3.     修改了两个待合并分支里同一个文件的同一部分。  
  4. 2、查看冲突文件:  
  5.     任何包含未解决冲突的文件都会以未合并(unmerged)状态列出。  
  6.     git status  
  7.         unmerged:  
  8. 3、解决冲突:  
  9.     vi 冲突文件,合并部分用<<<,===,>>> 分隔符标记,手动解决冲突后,删掉这些标记。  
  10.     在解决完所有文件的冲突后,执行git add ,使文件标记为冲突已解决;运行git status查看文件状态为modified,再执行git commit 提交,完成这次合并提交。  

查看分支

[plain]  view plain  copy
  1. git branch  
  2. git branch –a  
  3. git branch -r  

查看各分支最后提交的commit

[plain]  view plain  copy
  1. git branch -v  

删除分支

[html]  view plain  copy
  1. git branch –d branchname  
  2. 删除分支仅仅是删除该分支的名称而已,不会删除该分支所包含的任何提交记录,在git系统中,只要提交过的内容就不会丢失  


查看哪些分支是否合入当前分支

[plain]  view plain  copy
  1. git branch –merged  

查看尚未合并入的分支

[plain]  view plain  copy
  1. git branch –no-merged  
  2. 远程分支(remote branch)  
  3.     是对远程仓库状态的索引。它们是一些无法移动的本地分支;只有在进行 Git 的网络活动时才会更新  


猜你喜欢

转载自blog.csdn.net/chenjinlong126/article/details/80211554