git分支管理

打印 上一主题 下一主题

主题 871|帖子 871|积分 2613

目次
一、分支创建
1.检察分支
2.创建分支
3.分支切换到dev
近来的两个分支来回切换
4.创建分支与切换分支同时完成
5.如今在分支div2里创建了一个文件A.txt,提交到版本库之前哪个分支都可以看到这个文件,但是提交之后,在div2分支可以看到这个文件,切换到master的时候却无法看到这个文件
原因:
规律:
6.dev2里加个文件B.txt,然后在dev里提交,B.txt就到了dev里
二、分支删除
1.不能删除自己所在的分支
2.可以切换到master删除一个归并后的或者没有发生厘革的分支
3.如果一个分支发生了厘革不能删除
三、分支归并
四、分支的本质
五、分支的冲突
1.在dev2分支里面修改A.txt文件添加一行 update by dev2后提交
2.在master分支里面修改A.txt文件同时添加一行 update by master后提交
3.归并的时候发现出现冲突
4.可以通过图形来检察冲突的提交日志


Git 的默认分支就是 master,之以是几乎每一个堆栈都有 master 分支,是因为 git init 下令默认创建它。
一、分支创建

通过git branch来检察和创建分支。
1.检察分支

  1. git branch
复制代码

2.创建分支

  1. git branch dev
复制代码
之前只有一个master,如今创建了dev分支

3.分支切换到dev

  1. git checkout dev
复制代码

近来的两个分支来回切换

  1. git checkout -
复制代码

4.创建分支与切换分支同时完成

  1. git checkout -b dev2
复制代码


5.如今在分支div2里创建了一个文件A.txt,提交到版本库之前哪个分支都可以看到这个文件,但是提交之后,在div2分支可以看到这个文件,切换到master的时候却无法看到这个文件


 

原因:

git是记录某个文件的状态,只要这个文件没有提交到版本库,其他的分支上都能看到这个文件及其状态,但是只要提交到版本库,其他分支就看不到了
规律:

无论创建多少个分支,只要这个东西没有提交到版本库,在工作区、暂存区这个状态下,其他的分支都可以看到这个状态
6.dev2里加个文件B.txt,然后在dev里提交,B.txt就到了dev里

可以得出:不管开始在哪写的,只看终极是在哪个分支提交的,终极在哪个分支提交的文件就在哪个分支里

 


二、分支删除

1.不能删除自己所在的分支


2.可以切换到master删除一个归并后的或者没有发生厘革的分支

dev分支没有发生厘革,以是删除乐成了

3.如果一个分支发生了厘革不能删除

dev2分支发生厘革了而且也没有归并,以是不能删除

dev2发生了厘革,同时没有归并不能删除。如果要强制删除可以git branch -D dev2

三、分支归并

1.在上面的操纵中把dev和dev2都删除了,以是先创建一个分支dev2并在dev2分支创建一个文件A.txt并且提交,然后切换到master上做dev2 的归并
  1. git merge dev2
复制代码

可以看到master分支上也添加了A.txt这个文件,如今master和dev2是一样的了

2.如果修改的是同一个文件也可以做同样的归并,切换到dev2分支修改A.txt中的内容。在A.txt中添加了一行world,但是并没有提交

3.切换到master分支的时候发现提示了A.txt的变更。通过归并发现master分支上也归并了dev2修改的内容,归并之后dev2就删除就被允许了。

四、分支的本质

1.
master指向的是提交
HEAD是指向当前的分支,当前在哪个分支HEAD就指向哪个分支


第二张图上可以看到创建了dev的分支,当切换到dev分支的时候HEAD就会指向dev


2.当进入.git文件夹检察HEAD的内容的时候可以看到,所处分支不同内部的文件指向就不同。
master分支

dev分支


3.git的分支与svn不同,git用的是指针。如果dev发生修改提交,dev的版本就会向后移动。

在master分支上如果归并就会出现下面的图


五、分支的冲突


1.在dev2分支里面修改A.txt文件添加一行 update by dev2后提交


2.在master分支里面修改A.txt文件同时添加一行 update by master后提交


3.归并的时候发现出现冲突


<<<<<<<<<<<HEAD是当前指向的分支所修改
>>>>>>>>>>dev2是dev2分支修改
需要手工归并,修改后生存了master的内容
4.可以通过图形来检察冲突的提交日志

  1. git log --graph
复制代码



 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表