赞
踩
git tag和git branches区别?
tag就像是里程碑标志的一个点,branch是一个新的征程的一条线; tag是静态的,是只读的,不能修改,而branch是要往前走的; 稳定版本备份用tag,新功能开发多人用branch, 开发完成之后再merge到master上面;
git tag的作用
tag的中文意思是标签的意思,商品中有很多标签,每个人也有很多标签.
而在开发中,可能会有这样的问题出现: 1.一个版本开发结束后,进行分支合并,在master上面进行测试,上线,上线之后发现有问题,需要急需退回到上一个版本,这就要求我们自己手动在服务器上面备份很多war或者文件夹; 2.如果一般的修改没有拉取新的分支,而是在master上面直接修改的话,修改后上线有问题,可以及时的拉取退回到稳定的tag版本; 3.如果在发版本的时候忘记了备份war,fat.jar ,而部署到服务器后出现了bug, 这个时候就需要回滚代码, 那么回滚代码就会导致一些提交无效, 所以tag的重要性就提现了, 直接切换到tag,可以查看代码,可以重新打包. 综上所述,打tag是很有必要的.
打tag git命令
$ git tag //列出git中现有的所有标签
$ git tag -l v1.4.2.* //按照字母表顺序给出tag
v1.4.2.1
v1.4.2.2
$ git tag -a v1.4 -m ‘version 1.4′ //创建标签, -a 加标签,-m 加标签注释。
$ git tag v1.4-lw //创建轻量级标签,不用-a,-m等参数
$ git show v1.4 //git show 命令查看相应标签的版本信息,并连同显示打标签时的提交对象
$ git tag -a v1.2 9fceb02 //为已提交的信息贴上标签,为校验码为9fceb02*的版本贴上标签。
$ git push --tags //如果上传到服务器时不能上传tag,可加上--tags命令。\
intellij中打tag
官方说明: https://www.jetbrains.com/help/idea/2016.1/working-with-tags-and-branches.html
tag and branch: https://www.jetbrains.com/help/idea/2016.1/working-with-tags-and-branches.html
步骤:
1 You can create a tag in VCS -> Git -> Tag... menu. (打开VCS中的git --Tag 菜单)
commit 窗口:如果不填写默认是最新的head代码.
可以填写一个version的校验码:
2 Then open the push dialog with VCS -> Git -> Push and activate the checkbox "Push Tags".
在点击create tag 之后, git push (或者ctrl+shif +k键)
选择push tags , 可以push 当前分支的tag , 也可以选择push 全部分支的tag。
怎样拉取tag的代码
checkout tag or revision,来检出代码。
在idea的log中也可以看到刚才的标签或者搜索标签
创建Tag另一种方式
点开VersionControl,选中Log,出现commit列表。选择一个commit记录,右键,选择new tag,在弹出框里输入tag的名字,如v1.0.0即可。
push标签
由于不是在当前最新版本打入的标签,push时需要选择push tags (all),不然不能push
master branch相互合并操作
分支合并到主分支
在当前分支修改代码,修改完之后点击提交,此时代码提交到了新建的分支当中
点击右下角的git窗口,点击master分支,点击checkout切换到master
切换到master后,选取git->Merge changes,选取remote/orgin/新建的分支,点击Merge
Merge之后push一下,才能提交到master远程仓库
master主分支同步到某一分支
点击右下角的git窗口,选取需要从主分支同步代码的分支,点击checkout切换到该分支
选取git->Merge changes,选取remote/orgin/master,点击Merge,这样master的代码就会自动同步到该分支中
Merge之后push一下,才能提交到该分支的远程仓库
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。