Git標籤操作


標籤操作允許為儲存庫中的特定版本提供有意義的名稱。 假設專案中有兩個程式員:maxsuminsu,他們決定標記專案程式碼,以便以後可以更容易存取這些程式碼。

建立標籤

使用git tag命令來標記當前HEAD指標。在建立標籤時需要提供-a選項的標籤名稱,並提供帶-m選項的標籤訊息。

$ pwd
/D/worksp/sample

Administrator@MY-PC /D/worksp/sample (master)
$ git tag -a 'Release_1_0' -m 'Tagged basic string operation code' HEAD

如果要標記特定提交,則使用相應的COMMIT ID而不是HEAD指標。使用以下命令將標籤推播到遠端儲存庫。

$ git push origin tag Release_1_0
Username for 'http://git.oschina.net': [email protected]
Password for 'http://[email protected]@git.oschina.net':
Counting objects: 1, done.
Writing objects: 100% (1/1), 177 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To http://git.oschina.net/yiibai/sample.git
 * [new tag]         Release_1_0 -> Release_1_0

檢視標籤

假設開發人員(maxsu)建立了標籤。 現在,另外一個開發人員(minsu)就可以使用帶有-l選項的git tag命令檢視所有可用的標籤。

yiibai@ubuntu:~/git/sample$ pwd
/home/yiibai/git/sample

yiibai@ubuntu:~/git/sample$ git pull
remote: Counting objects: 1, done.
remote: Total 1 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (1/1), done.
From http://git.oschina.net/yiibai/sample
 * [new tag]         Release_1_0 -> Release_1_0
Already up-to-date.

yiibai@ubuntu:~/git/sample$ git tag -l
Release_1_0
yiibai@ubuntu:~/git/sample$

可使用git show命令後跟其標籤名來檢視有關標籤的更多詳細資訊。

$ git show Release_1_0
tag Release_1_0
Tagger: maxsu <[email protected]>
Date:   Mon Jul 10 23:06:04 2017 +0800

Tagged basic string operation code

commit 44ea8e47307b47c9a80b44360e09f973e79312b0
Author: maxsu <[email protected]>
Date:   Mon Jul 10 21:09:35 2017 +0800

    add new file string.py

diff --git a/src/string.py b/src/string.py
new file mode 100644
index 0000000..42fd1dd
--- /dev/null
+++ b/src/string.py
@@ -0,0 +1,7 @@
+#!/usr/bin/python3
+
+var1 = 'Hello World!'
+var2 = "Python Programming"
+
+print ("var1[0]: ", var1[0])
+print ("var2[1:5]: ", var2[1:5]) # 切片加索引
\ No newline at end of file

Administrator@MY-PC /D/worksp/sample (master)
$

刪除標籤

使用以下命令從本地以及遠端儲存庫中刪除標籤,注意使用 git tag -d 中帶有-d選項 -

$ git tag
Release_1_0

Administrator@MY-PC /D/worksp/sample (master)

$ git tag -d Release_1_0
Deleted tag 'Release_1_0' (was 600fa78)

Administrator@MY-PC /D/worksp/sample (master)

$ git push origin :Release_1_0
Username for 'http://git.oschina.net': [email protected]
Password for 'http://[email protected]@git.oschina.net':
To http://git.oschina.net/yiibai/sample.git
 - [deleted]         Release_1_0

Administrator@MY-PC /D/worksp/sample (master)
$