Git--分支部分(详解)

Git2021-03-28 08:59:50190条
所谓分支,就是不想所有的任务都在主分支上进行,从而先创建一个其他的分支,等大部分功能都完善好了再整理到主分支上,这样来避免出错和复杂的提交记录。

所谓分支,就是不想所有的任务都在主分支上进行,从而先创建一个其他的分支,等大部分功能都完善好了再整理到主分支上,这样来避免出错和复杂的提交记录。

1. git branch

这条指令的意思是,查看分支。

可以看到现在只有一个分支master,也就是我们的主分支,只要进行了git初始化,那么就一定会有一个主分支,前两篇的操作也都是在这个master上进行的,也可以看到master前面有一个*,代表的就是当前分支为master。

2. git branch 分支名称

可以猜的出来,这条指令的意思就是创建一个分支。

我们来用一下这个指令。然后再用上个指令查看一下分支。

可以看到,我们master的分支上面显示了一个dev分支,但是*还在master前面,说明主分支还是master。

现在我们打印一下提交记录。

请记住,现在的提交记录是master上的。

3. git switch 分支名称

这条指令的意思是切换分支(在2.23版本中替换了checked out)

我们来用一下这个指令切换到dev分支,然后在查看一下分支状态。

可以看到,我们的dev分支现在前面有了个*,也就是说,我们dev分支在使用这个命令后现在变成了主分支。

现在我们在打印一下提交记录。

似乎和刚才master分支上的一样,通过这一点我们可以知道,我们在创建分支的时候,会复制一下主分支,但之后的操作,二者不同步。

4. git merge 指定分支

这条指令的意思是合并分支,在演示这个命令之前,我先做一些操作。

现在我们的主分支是dev分支,现在我给a.txt进行2次add和 commit操作。

然后我们log一下提交记录。

可以看到我们这两次提交已经有记录了,现在我们切换到master分支上,在进行log一下。

可以看到,二者是不同步的,master上的记录并没有改变,那如果dev分支我已经做好了,需要整理到master分支上,就需要这条指令了。

现在我们的主分支是master,用这个指令合并dev。

可以看到给你一些提示,说明我们已经和并完了。

现在我们再打印一下记录。

可以看到,a.txt的提交记录现在合并到了master上了。

5. git branch -d 分支名称

这条指令的意思是,删除某条分支,比如上个dev分支的任务已经做完了,我们就可以把它删除掉了。

OK,可以看到,现在又只剩下一个主分支master了。

6. git diff 分支1 分支2

字面意思,比较两个分支的差异,例如我们在创建一个dev,这个dev应该是复制master的,所以而这应该没有差异。


事实也是如此,现在我们用一下上一篇文章说的的回退指令。

可以看到,在我们给master分支进行了回退之后,我们再用这个指令就可以看到了master分支和dev分支已经有差异了。

7. git stash

有时候我们会有这个问题,如果dev分支的功能还没做完,但是我先要做别的,这个时候我们还不能合并到到主分支上,这个时候怎么办呢,就该用到这个指令了。

意思是将当前分支管理在本地的stash区,然后进行操作。

7.1 git stash save message

这个是保存某个文件的意思,我们来用一下。

我们切换到dev分支并且修改一下a.txt。

现在我要去别的分支干活还不想合并到master上,就用这个。

现在我们已经把a.txt保存到了stash区域。

7.2 git stash list/show

这个是查看stash区域的状态。

我们比较常用第一个,来看到里面的**[email protected]{0}**,这个代表的是这条记录的算是名字吧。

7.3 git stash apply stash @{number}

这个指令就是恢复刚才我们看到的那个名字,比如我把刚才保存的给恢复过来应该这么写

OK,这样我们就给他恢复过来了。

虽然给我们弹出了警告,是因为我们只是恢复了这条记录,但还没有提交,他在提示我们add和提交。

我们打开a.txt也可以看到内容已经恢复过来了。

7.4 git stash drop stash @{number}

这个呢,就是删除某个记录的意思啦,比如我们把刚才的[email protected]{0}删除掉应该这没写。

可以看到指令执行完毕后,我们刚刚那条记录也不见了。

OK,关于Git的分支管理的内容也就说的差不多了。

评论啦~
暂无评论,快来抢沙发吧!