您的位置:首页 > 其它

git使用教程三 本地分支操作

yangwen123 2013-03-12 17:10 92 查看

创建分支

$ git branch testing		#创建新分支testing
$ git checkout –b testing		#创建并切换到testing分支
$ git checkout –b testing master 	# 基于master分支创建并切换到testing分支




切换分支

$ git checkout  testing   #切换到testing分支,HEAD执向testing分支




分支提交

$ git checkout testing		#切换到testing分支
$ git commit –am “update ui”	#提交后, HEAD 随着分支一起向前移动




$ git checkout master
$ git commit –am “update tools”
提交后 HEAD 随着分支一起向前移动



分支合并

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


合并冲突

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


查看分支

git branch
git branch –a
git branch -r


查看各分支最后提交的commit

git branch -v

删除分支

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


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

git branch –merged


查看尚未合并入的分支

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