Git Branch & Tag

本文详细介绍Git中Branch和Tag的常用操作,包括创建、切换、合并、删除分支及标签,以及如何将本地更改推送到远程服务器。还介绍了如何在历史提交上追加标签,以及重命名远程分支的具体步骤。

**

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

<think>好的,用户想在GitHub上使用特定分支和标签进行操作,我需要根据提供的引用内容来组织回答。首先,我需要明确用户的需求,他们可能是在版本控制中需要切换分支、创建标签,或者管理远程仓库的分支和标签。 引用中提到了branchtag的基本操作命令,比如如何创建、查看、删除tag,以及分支的克隆、检出、提交等。用户可能希望了解如何在GitHub上执行这些操作,而不仅仅是本地的Git命令。需要将本地操作与GitHub的远程仓库操作结合起来。 首先,我应该分步骤说明分支和标签的操作,包括创建、切换、推送、查看和删除。例如,对于分支,用户可能需要知道如何创建本地分支并推送到远程,或者如何检出远程分支。对于标签,需要说明如何创建带注释的标签,并推送到GitHub,以及如何删除远程标签。 需要注意用户是在GitHub环境下操作,所以可能需要强调远程仓库相关的命令,比如git push origin branch_name或git push origin tag_name。同时,引用中的例子有提到检出远程分支的命令,比如git checkout -b branch_name,这需要解释清楚。 还要考虑用户可能的常见使用场景,比如版本发布时打标签,或者在不同分支上开发新功能。可能需要给出具体的示例命令,比如创建版本标签v1.0并推送到GitHub,或者如何切换到已有的远程分支进行开发。 另外,用户可能会混淆分支和标签的区别,需要简单说明两者的用途。标签用于标记特定提交,不可变,而分支用于开发流程,会随着提交前进。 最后,生成相关问题时要围绕用户可能进一步想知道的内容,比如如何比较标签之间的差异,或者如何处理分支合并冲突等。确保问题覆盖用户可能遇到的后续疑问。 总结回答结构:分branchtag两部分,每部分包含常用操作,结合GitHub的远程操作,给出具体命令示例,并强调关键注意事项,如推送标签到远程的步骤。同时,参考引用中的命令确保准确性。</think>### GitHub 上使用特定分支和标签的 Git 操作指南 #### 一、分支(Branch)操作 1. **查看分支** - 查看本地分支:`git branch` - 查看远程分支:`git branch -r` - 查看所有分支(本地+远程):`git branch -a` 2. **创建并切换分支** ```bash git checkout -b <branch_name> # 创建本地分支并切换 git push origin <branch_name> # 推送分支到 GitHub ``` 3. **检出远程分支** ```bash git fetch origin # 同步远程分支信息 git checkout origin/<branch_name> # 检出远程分支(只读) git checkout -b <local_branch_name> origin/<remote_branch_name> # 创建本地分支并关联远程分支 ``` 4. **删除分支** ```bash git branch -d <branch_name> # 删除本地分支 git push origin --delete <branch_name> # 删除远程分支 ``` --- #### 二、标签(Tag)操作 1. **创建标签** - 轻量标签(无注释):`git tag <tag_name>` - 带注释的标签(推荐): ```bash git tag -a v1.0 -m "Release version 1.0" # 本地创建 git push origin v1.0 # 推送到 GitHub ``` 2. **查看标签** ```bash git tag # 查看本地标签列表 git show v1.0 # 查看标签详细信息 git ls-remote --tags origin # 查看远程标签 ``` 3. **删除标签** ```bash git tag -d v1.0 # 删除本地标签 git push origin --delete v1.0 # 删除远程标签 ``` 4. **基于标签检出代码** ```bash git checkout v1.0 # 切换到标签对应的提交(进入分离头指针状态) ``` --- #### 三、关键注意事项 1. **分支与标签的区别** - 分支(Branch)用于开发流程,会随新提交移动;标签(Tag)标记特定提交(如版本发布),不可修改[^2]。 - 示例:`git tag v2.0 -m "正式版本"` 标记当前提交为稳定版本[^3]。 2. **远程操作同步** - 新建分支/标签后需显式推送:`git push origin <name>` - 删除远程分支/标签需使用专用命令(见上文)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值