每次提交Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。
HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
1.创建分支
git checkout 命令加上 –b参数表示创建并切换,相当于git branch dev ;git checkout dev
git branch查看分支,会列出所有的分支,当前分支前面会添加一个星号。
2.在新创建的分支上添加内容
在readme.txt再增加一行 7777777777777,然后用cat readme.txt 查看添加的内容
提交新添加的内容 git add readme.txt ;git commit -m 'dev分支上增加内容777777'
3.切换到master主分支上 查看readme。txt文件并没有77777
4.把dev分支内容合并到master主分支上
Fast-forward 是快进模式”,就是直接把master指向dev的当前提交
5.删除dev分支
6.解决分支冲突
6.1创建一个新分支,并在readme。txt中增加内容88888888
提交fenzhi1的内容
6.2切回master分支,并添加999999内容
提交master修改的内容
6.3在master分支上合并fenzhi1分支上的内容,git merge fenzhi1 合并分支;git status 查看分支状态;cat readme.txt 查看
合并后的内容
代码冲突的注释:Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指master主分支修改的内容,>>>>>fenzhi1 是指fenzhi1上修改的
6.4把合并后的内容修改成和主干一样的内容
查看历史记录git log
总结创建与合并分支命令如下:
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name