分支基础操作
git把我们之前每次提交的版本串成一条时间线,这条时间线就是一个分支。截止到目前为止只有一条时间线。在git里,这个分支叫做主分支(master),HEAD严格来说不是指向提交的版本,而是指向master,master指针才是指向提交的版本的,所以master指向的就是当前分支。
- git branch branch_name:创建branch_name分支
- git checkout branch_name:切换到branch_name分支
- git checkout -b branch_name:创建branch_name分支,并切换到该分支(创建+切换)
- git branch:查看已有的分支
- git merge branch_name:将branch_name分支合并到当前分支(Fast-forward快速合并:把master指针往前移动就可实现)
- git branch -d branch_name:将 branch_name分支删除
创建分支并切换
这里我创建了一个slave分支,创建后查看分支创建情况,随后切换至slave分支
分支合并
删除分支
合并分支问题—冲突解决(手动解决)
冲突起因:在两个不同的分支上分别对同一文件进行了操作并提交,这时候再合并就会出现错误。这个时候对应文件中就表明了对应的冲突。
在master分支上修改了aaa.txt
在slave分支上修改了aaa.txt
此时合并slave分支到master分支,冲突出现
在aaa.txt文件中详细指出了冲突
这里的冲突需要人为手工的去修改下,并对修改后的状态进行版本更新才能对冲突进行解决:
查看git操作图
# 查看git的提交记录图
# --graph说明要查看对应的操作路线图
git log --graph --pretty=oneline