Git知识点总结(三) --- 分支和合并,临时保存,标签


目录



分支与合并


基本操作

创建

git branch <branchName>

查看现有分支

git branch查看本地分支

git branch -r查看远程分支

git branch -v查看分支详细信息

选择分支

git checkout <branchName>

合并分支

git merge -m <message> <anothorBranch>

撤销上一次合并分支

git merge --abort <anothorBranch>

删除分支

git branch -D <BranchName>



带有记录的合并

git merge --no-ff -m <message> <branchName>

合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward(默认)合并就看不出来曾经做过合并。()

团队合作的分支看起来就像这样:

git-br-policy

Example

在master分支创建t1文件,接着在dev创建t2文件

这里写图片描述

如果使用fast forward合并的话(无合并记录)

这里写图片描述

如果使用--no-f进行合并(有合并记录)

这里写图片描述





临时保存

当你有进行到一半的工作,但尚未提交,此时你又需要切换支线,进行其他工作。这时候就可以用stash来保存当前已跟踪(暂存)的文件,工作区和暂存区会重新回到上一次提交的状态。当返回之前的工作时,只需要进行恢复现场即可。


基本操作

git stash快速保存

git stash save <message>保存现场

git stash list查看已经保存的现场

git stash apply <stash@?>恢复现场

git stash pop恢复现场并删除现场记录

git stash drop <stash@?>删除现场

保存现场必须add所有文件 ,否则提示 No local changes to save


Example

在master中创建t1并提交,接着保存现场。创建dev分支,修改t1,但不保存现场。

这里写图片描述

切回master,可以看到这时候t1是dev修改后的内容。进行恢复时,会显示t1被重写了,需要移除它。删除后,再次恢复,操作成功。输出t1,t1没有任何内容,已经恢复到上次保存的节点

这里写图片描述




标签

通常标签是作为版本标识

基本操作

git tag查看所有标签

git show <tagName>查看标签详细信息


git tag <tagName>在Head处,新建一个标签

git tag <tagName> <commit_id>给指定commit id添加标签

git tag -a <tagName> -m <message>创建标签并带有附注

git tag -d <tagname>可以删除一个本地标签


git push origin <tagname>推送指定标签的支线

git push origin --tags推送新增的标签

git push origin :refs/tags/<tagname>删除一个远程标签

猜你喜欢

转载自blog.csdn.net/u011291916/article/details/81417449