vault backup: 2025-03-04 11:12:06
This commit is contained in:
61
-22.01. 軟體工具、設定/git/tag.md
Normal file
61
-22.01. 軟體工具、設定/git/tag.md
Normal file
@@ -0,0 +1,61 @@
|
||||
## 列出你的標籤
|
||||
```
|
||||
$ git tag
|
||||
v0.1
|
||||
v1.3
|
||||
```
|
||||
|
||||
## 建立新的標籤
|
||||
```console
|
||||
$ git tag -a v1.4 -m "my version 1.4"
|
||||
$ git tag
|
||||
v0.1
|
||||
v1.3
|
||||
v1.4
|
||||
```
|
||||
|
||||
## 輕量級標籤
|
||||
如果想要建立一個輕量級的標籤,不要指定 `-a`、`-s` 或 `-m` 的選項如下:
|
||||
```console
|
||||
$ git tag v1.4-lw
|
||||
$ git tag
|
||||
v0.1
|
||||
v1.3
|
||||
v1.4
|
||||
v1.4-lw
|
||||
v1.5
|
||||
```
|
||||
|
||||
## 分享標籤
|
||||
`git push` 指令預設不會傳送標籤到遠端伺服器。 在你建立標籤後,你必須明確的要求 Git 將標籤推送到共用的伺服器上面。 這個動作就像是在分享遠端分支一樣——你可以執行 `git push origin [tagname]`。
|
||||
```console
|
||||
$ git push origin v1.5
|
||||
Counting objects: 14, done.
|
||||
Delta compression using up to 8 threads.
|
||||
Compressing objects: 100% (12/12), done.
|
||||
Writing objects: 100% (14/14), 2.05 KiB | 0 bytes/s, done.
|
||||
Total 14 (delta 3), reused 0 (delta 0)
|
||||
To git@github.com:schacon/simplegit.git
|
||||
* [new tag] v1.5 -> v1.5
|
||||
```
|
||||
|
||||
如果想要一次推送很多標籤,也可以在使用 `git push` 指令的時候加上 `--tags` 選項。 這將會把你所有不在伺服器上面的標籤傳送給遠端伺服器。
|
||||
```console
|
||||
$ git push origin --tags
|
||||
Counting objects: 1, done.
|
||||
Writing objects: 100% (1/1), 160 bytes | 0 bytes/s, done.
|
||||
Total 1 (delta 0), reused 0 (delta 0)
|
||||
To git@github.com:schacon/simplegit.git
|
||||
* [new tag] v1.4 -> v1.4
|
||||
* [new tag] v1.4-lw -> v1.4-lw
|
||||
```
|
||||
|
||||
## 檢出標籤
|
||||
在 Git 中你不能真的檢出一個標籤,因為它們並不能像分支一樣四處移動。 如果你希望工作目錄和版本庫中特定的標籤版本完全一樣,你可以使用 `git checkout -b [branchname] [tagname]` 在該標籤上建立一個新分支:
|
||||
|
||||
```console
|
||||
$ git checkout -b version2 v2.0.0
|
||||
Switched to a new branch 'version2'
|
||||
```
|
||||
|
||||
當然,如果在建立新分支以後又進行了一次提交,`version2` 分支將會和 `v2.0.0` 標籤有所差異,因為這個分支已經因為你的提交而改變了,請特別小心。
|
||||
Reference in New Issue
Block a user