当前位置: 代码迷 >> 综合 >> Git Branch Tag
  详细解决方案

Git Branch Tag

热度:86   发布时间:2023-12-12 11:18:53.0

**

Branch 操作

**
1、列出所有本地分支

$git branch

2、列出所有远程分支

$git branch -r

3、列出所有本地分支和远程分支

$ git branch-a

4、新建一个分支,但依然停留在当前分支

$git branch dev

5、切换到指定分支,并更新工作区

$git checkout dev

6、合并指定分支到当前分支

例如,当前在master分支上,将dev分支合并到当前master分支上来

$git merge dev

7、删除分支

例如,删除本地dev分支

$ git branch -d dev

9、将本地分支推送到远程服务器

$ git push origin dev

10、删除远程分支

$ git push origin --delete

例如,删除远程的dev分支

$ git push origin --delete dev

Tag操作

0、列出所有tag

$git tag

1、打标签,附注标签

$ git tag -a [tagname] -m [message]

例如,打v1.0标签

$ git tag -a v1.0 -m 'v1.0 release'
  • git tag 是命令

  • -a 1.0是增加名为1.0的标签

  • -m 后面跟着的是标签的注释

打标签的操作发生在我们commit修改到本地仓库之后。

2、提交

    git add .git commit -m “fixed some bugs”git tag -a 0.1.3 -m “Release version 0.1.3″

3、 提交标签到远程服务器上

git push origin master
git push origin --tags
  • –tags参数表示提交所有tag至服务器端,普通的git push origin master操作不会推送标签到服务器端。
    -如果指定特性的tag git push origin [tagname]

4、后期打标签

$ git tag -a [tagname] [version]

5、删除本地标签

$ git tag -d [tag]

例如,删除本地v1.0 标签

$ git tag -d v1.0

删除远端服务器的标签

git push origin :refs/tags/0.1.3

重命名远程分支

在Git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。

例如,把远程分支dev重命名为develop,操作如下:

1.删除远程分支:

$ git push--delete origin dev

2.重命名本地分支:

git branch -m dev develop

3.推送本地分支:

$git push origin develop

重点:针对以往commit追加Tag

默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?

方法是找到历史提交的commit id,然后打上就可以了:

$ git log --pretty=oneline --abbrev-commit
12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101
4c805e2 fix bug 101
e1e9c68 merge with no-ff
f52c633 add merge
cf810e4 conflict fixed
5dc6824 & simple
14096d0 AND simple
b17d20e branch test
d46f35e remove test.txt
b84166e add test.txt
519219b git tracks changes
e43a48b understand how stage works
1094adb append GPL
e475afc add distributed
eaadf4e wrote a readme file

比方说要对add merge这次提交打标签,它对应的commit id是f52c633,敲入命令:

$ git tag v0.9 f52c633

注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show 查看标签信息:

$ git show v0.9

使用git checkout tag即可切换到指定tag,例如:git checkout v0.1.0

  相关解决方案