本片博客的大致内容来自廖雪峰的官方网站,自己进行摘要。https://www.liaoxuefeng.com/wiki/896043488029600/900003767775424
在新建仓库以后,Git会自动创建一个主分支(master),当查询git日志时,会有如下图所示
图中显示了两次提交,都是以commit id 开始,对于最近一次提交,可以看到有HEAD指针指向master,master是指向本次提交(commit)。
![](https://img-blog.csdnimg.cn/20200228115923899.png
每次提交后,master分支会向前移动一步,而HEAD也会一起移动。
接下来开始创建分支
//新建一个new分支,并切换到该分支
% git checkout -b dev
-----------------------
% git branch dev
%git checkout dev
这时新建了dev指针,因为切换到了dev分支,所以HEAD指向了dev
假设原来的文件
这时对文件进行修改
并git add 然后git commit 以后HEAD指向如下所示。
现在使用git checkout master切换回主分支,查看刚才修改的文件,会发现没有任何修改,这是因为还没有,将master分支和dev分支合并。
//将dev分支的修改合并到master
%git merge dev
Updating 29cb8cb..475bdb4
Fast-forward
a.txt | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 a.txt
当前指向如下图所示,只是改了一下指针而已
最后将dev分支删除
%git branch -d dev
最后如下所示:
建议都在分支上完成各种修改,最后在合并到master上,这样可以有效的避免,这次修改出现重大问题,不会影响到先前的内容。