一、git tag 是什么? 有什么作用?
-
git tag:给当前分支打标签,以便回退到此版本。发布一个版本时,我们通常先在版本库中打一个标签(tag)。
-
作用:
-
添加标签:
git tag -a <tagname> -m "note"
git tag 是打标签的命令,-a是添加标签,其后要跟新标签号,-m及后面的字符串是对该标签的注释。
-
提交标签到远程仓库:
git push origin --tags
-tags可以把本地打的标签全部提交到远程仓库。
git push origin <tagname>
:推送某个人标签到远程
-
删除本地标签:
git tag -d/-delete <tagname>
-
删除远程标签:
git push <remote> -delete/-d <tagname>
- git push origin -delete v1.1
-
检出标签:
git checkout
如果想要查看某个标签所指向的文本版本,可以使用git checkout 命令。
通常在检出tag时还会创建一个对应的分支。
-
二、什么是 git branch?在开发中如何使用git branch?有哪些git flow?
-
git branch:可以用命令git branch来查看我们的git仓库有几个分支,而我们目前工作处于那个分支,前面有个*号的就是我们目前所处的分支。
-
使用:
-
查看分支:
- git branch:列出**”本地“已经存在的分支,当前分支会用***标记
- git branch -r:查看**“远程”仓库**的分支列表
- git branch -a:查看所有分支列表(包含“本地和远程”分支)
- git branch -vv:查看**“本地分支对应的远程分支”**(包含最新一次提交的信息)
- git branch -v:查看一个分支的最新一次提交
- git branch --merged:查看哪些分支已经合并到当前分支(即哪些分支是当前分支的直接上游)
- git branch --no-merged:查看所有未合并工作的分支
-
创建分支:
-
git branch :创建分支时需要是最新的环境,创建分支后还是指向原来的分支。
-
git branch -b :创建分支时需要是最新的环境,创建分支后指向这个新分支。
git checkout -b dev remote/alps-dev:创建本地分支dev,并指向远程分支alps-dev
-
-
删除分支:
- git branch -d :删除一个名字为branchName的本地分支,如果该分支有提交并未进行合并,则会删除失败。
- git branch -D :强制删除一个名字为branchName的本地分支。如果该分支有提交未合并,也会删除成功。
- git push origin --delete/-d dev:删除远程dev分支。
-
重命名分支:
- git branch -m oldName newName:给本地分支重命名。
-
-
常见的git flow:
- Master:只有一个,并且不会在master上进行代码的操作。
- Hotfix:当发现master分支出现一个需要紧急修复的bug时,就需要使用hotfix。基于master分支被创建。同一时间只有一个hotfix分支,生命周期比较短。
- Develop:只有一个,新特性的开发时基于develop开发的,但是不能直接develop上进行开发,而是在基于develop上创建的feature分支进行新特性的开发。
- Feature:可以同时存在多个,基于develop分支被创建。对于每一个新的功能可以创建一个新的feature分支,开发结束之后,合并到develop分支即可。
- Release:release分支是为了发布而存在的分支,基于develop分支被创建。在同一时间只能有一个release分支,在此分支上仅仅是较少代码的修复。