update tag相关命令

master
xueweihan 2016-08-10 11:41:29 +08:00
parent cbb231dbba
commit 9c1177f8a2
1 changed files with 42 additions and 12 deletions

View File

@ -13,8 +13,9 @@ Git是一个“分布式版本管理工具”简单的理解版本管理工
3. 统一概念: 3. 统一概念:
- 工作区:改动(增删文件和内容) - 工作区:改动(增删文件和内容)
- 暂存区:输入命令:`git add 改动的文件名`,此次改动就放到了‘暂存区’ - 暂存区:输入命令:`git add 改动的文件名`,此次改动就放到了‘暂存区’
- 本地仓库:输入命令:`git commit 此次修改的描述`此次改动就放到了本地仓库每个commit我叫它为一个版本 - 本地仓库(简称:本地):输入命令:`git commit 此次修改的描述`此次改动就放到了本地仓库每个commit我叫它为一个版本
- 远程仓库:输入命令:`git push 远程仓库`此次改动就放到了远程仓库github等) - 远程仓库(简称:远程):输入命令:`git push 远程仓库`此次改动就放到了远程仓库github等)
- commit-id输出命令`git log`,最上面那行`commit xxxxxx`后面的字符串就是commit-id
4. 如果喜欢这个项目欢迎Star、提交Pr、[反馈问题](https://github.com/521xueweihan/git-tips/issues)😊 4. 如果喜欢这个项目欢迎Star、提交Pr、[反馈问题](https://github.com/521xueweihan/git-tips/issues)😊
## 目录 ## 目录
@ -30,8 +31,11 @@ Git是一个“分布式版本管理工具”简单的理解版本管理工
* [关联远程分支](#关联远程分支) * [关联远程分支](#关联远程分支)
* [删除本地分支](#删除本地分支) * [删除本地分支](#删除本地分支)
* [删除远程分支](#删除远程分支) * [删除远程分支](#删除远程分支)
* [删除本地标签(tag)](#删除本地标签(tag)) * [查看标签(tag)](#查看标签\(tag\))
* [删除远程标签(tag)](#删除远程标签(tag)) * [本地创建标签](#本地创建标签)
* [推送标签到远程仓库](#推送标签到远程仓库)
* [删除本地标签](#删除本地标签)
* [删除远程标签](#删除远程标签)
* [放弃工作区的修改](#放弃工作区的修改) * [放弃工作区的修改](#放弃工作区的修改)
* [回到某一个commit的状态并重新增添一个commit](#回到某一个commit的状态并重新增添一个commit) * [回到某一个commit的状态并重新增添一个commit](#回到某一个commit的状态并重新增添一个commit)
* [回到某个commit的状态并删除后面的commit](#回到某个commit的状态并删除后面的commit) * [回到某个commit的状态并删除后面的commit](#回到某个commit的状态并删除后面的commit)
@ -65,7 +69,6 @@ Git是一个“分布式版本管理工具”简单的理解版本管理工
* [从包中导入分支](#从包中导入分支) * [从包中导入分支](#从包中导入分支)
* [执行rebase之前自动stash](#执行rebase之前自动stash) * [执行rebase之前自动stash](#执行rebase之前自动stash)
* [从远程仓库根据ID拉下某一状态到本地分支](#从远程仓库根据ID拉下某一状态到本地分支) * [从远程仓库根据ID拉下某一状态到本地分支](#从远程仓库根据ID拉下某一状态到本地分支)
* [展示当前分支的最近的tag](#展示当前分支的最近的tag)
* [详细展示一行中的修改](#详细展示一行中的修改) * [详细展示一行中的修改](#详细展示一行中的修改)
* [清除`.gitignore`文件中记录的文件](#清除`.gitignore`文件中记录的文件) * [清除`.gitignore`文件中记录的文件](#清除`.gitignore`文件中记录的文件)
* [展示所有alias和configs.](#展示所有alias和configs.) * [展示所有alias和configs.](#展示所有alias和configs.)
@ -161,12 +164,44 @@ git push origin --delete <remote_branchname>
git push origin :<remote_branchname> git push origin :<remote_branchname>
``` ```
## 删除本地标签(tag) ## 查看标签(tag)
```
git tag
```
展示当前分支的最近的tag
```sh
git describe --tags --abbrev=0
```
## 创建标签
```sh
git tag <version-number>
```
默认tag是打在最近的一次commit上如果需要指定commit打tag
```sh
$ git tag -a <version-number> -m "v1.0 发布(描述)" <commit-id>
```
## 推送标签到远程仓库
首先要保证本地创建好了标签才可以推送标签到远程仓库:
```sh
git push origin <local-version-number>
```
一次性推送所有标签,同步到远程仓库:
```
git push origin --tags
```
## 删除本地标签
```sh ```sh
git tag -d <tag-name> git tag -d <tag-name>
``` ```
## 删除远程标签(tag) ## 删除远程标签
删除远程标签需要**先删除本地标签**,再执行下面的命令
```sh ```sh
git push origin :refs/tags/<tag-name> git push origin :refs/tags/<tag-name>
``` ```
@ -363,11 +398,6 @@ git rebase --autostash
git fetch origin pull/<id>/head:<branch-name> git fetch origin pull/<id>/head:<branch-name>
``` ```
## 展示当前分支的最近的tag
```sh
git describe --tags --abbrev=0
```
## 详细展示一行中的修改 ## 详细展示一行中的修改
```sh ```sh
git diff --word-diff git diff --word-diff