git使用二

来源:互联网 发布:网络赚钱项目 编辑:程序博客网 时间:2024/04/27 20:42

1. 分支管理

  • 分支创建与合并

创建dev分支并切换到dev分支:

git checkout -b dev

等价于以下:

git branch dev
git checkout dev

查看当前分支:

git branch

切换回master分支:

git checkout master

此时分支状态如下:
这里写图片描述

将dev分支工作合并到master分支:

git merge dev

(注意:上述使用的是“Fast-forward”合并方式,合并后主分支中不保留dev分支的痕迹)

删除dev分支:

git branch -d dev

  • 分支冲突解决

当master分支和feature1分支都有各自的提交时,分支状态如下:

这里写图片描述

直接使用merge会冲突,此时修改冲突的文件,再进行提交:

git add readme.txt

可得到新的分支图:
这里写图片描述

查看分支合并情况:

git log –graph –pretty=oneline –abbrev-commit

删除feature1分支:

git branch -d feature1

  • 分支管理策略

禁用“fast-forward”模式merge分支,使得被merge分支在分支历史上得以保留:

git merge –no-ff -m “merge with no-ff” dev

可得到分支状态图:
这里写图片描述

  • bug修复时的分支管理

在dev分支作业,发现原来的master分支的一个文件存在错误,需要修复bug

先保存工作现场:

git stash

切换到master分支,并建立新分支进行修复:

git checkout master
git checkout -b issue-101

修复文件后:

git add readme.txt
git commit -m “fix bug 101”
git checkout master
git branch -d issue-101

回到原始分支,并恢复工作现场:

git checkout dev
git stash pop

或者:

git stash list
git stash apply stash@{0}

2. 标签管理

为版本添加容易记的标签

标签创建:

git checkout master
git tag v1.0

查看所有标签:

git tag

或者,根据提交的commit id添加标签:

git log –pretty=oneline –abbrev-commit
git tag v0.0 6224937

查看标签对应信息:

git show v1.0

创建带有说明文字的标签:

git tag -a v0.1 -m “version 0.1 released” 3628164

删除标签:

git tag -d v1.0

将标签推到远程:

git push origin v1.0

一次性推送所有标签:

git push origin –tags

删除远程标签:

git tag -d v0.9
git push origin :refs/tags/v0.9