Git學習筆記 001 Git基礎 part3

標籤

Git可以給某一個提交打上標籤,以顯示一些重要信息。一般會用這個標籤來標記文件的版本。

創建標籤

標籤分為兩種,輕量標籤(lightweight)和附註標籤(annotated)

下面是這兩種標籤的特性

輕量標籤

  • 只是一個特定提交的引用

附註標籤

  • 存儲在數據庫的完整對象
  • 可以被校驗
  • 包含打標籤者的個人信息

附註標籤

如下的命令tag -a創建了附註標籤,-m添加了一些註釋

$ git tag -a v1.0 -m 'my version 1.0'

使用tag命令可以列出已經存在的標籤

$ git tag

v1.0

使用git show命令可以查看更詳細的標籤信息,下面是顯示結果的一部分

$ git show v1.0

tag v1.0

Tagger: kutilion <kutilion>

Date: Tue Apr 2 20:52:46 2019 +0800

my version 1.0

......

輕量標籤

輕量標籤只需要提供名字

$ git tag v1.0-lw

$ git tag

v1.0

v1.0-lw

$ git show v10.-lw

fatal: ambiguous argument 'v10.-lw': unknown revision or path not in the working tree.

Use '--' to separate paths from revisions, like this:

'git <command> [<revision>...] -- [<file>...]'/<file>/<revision>/<command>

為之前提交的內容打標籤

$ git log --pretty=oneline

6fa2268d1f6f1db13d3f233982fdd274af5c1381 (HEAD -> master, tag: v1.0-lw, tag: v1.0) combine commit second time

c4bea312bd0676dcdf00a40bb38fb2930bc82afe First commit

6e2fa0997c2ce0bd01c289000c70795d232676ca (origin/master, origin/HEAD, gtNew/master) Initial commit

從上至下第一個提交添加了兩個tag,v1.0-lw和v1.0。這是上面執行的結果。如果想往第二個提交添加標籤可以如下操作

$ git tag -a v0.9 c4bea31 -m 'my tag'

$ git log --pretty=oneline

6fa2268d1f6f1db13d3f233982fdd274af5c1381 (HEAD -> master, tag: v1.0-lw, tag: v1.0) combine commit second time

c4bea312bd0676dcdf00a40bb38fb2930bc82afe (tag: v0.9) First commit

6e2fa0997c2ce0bd01c289000c70795d232676ca (origin/master, origin/HEAD, gtNew/master) Initial commit

可以看到已經為第二個提交打上了v0.9標籤。

推送標籤到遠程倉庫

使用push + 本地倉庫別名 + 標籤名,可以將標籤推送到遠程倉庫,如

$ git push origin v0.9

fatal: TaskCanceledException encountered.

Username for 'https://github.com': kutilion

VEnumerating objects: 7, done.

Counting objects: 100% (7/7), done.

Delta compression using up to 4 threads

Compressing objects: 100% (3/3), done.

Writing objects: 100% (5/5), 483 bytes | 161.00 KiB/s, done.

Total 5 (delta 0), reused 0 (delta 0)

To https://github.com/Kutilion/GitTestProject.git

* [new tag] v0.9 -> v0.9

登錄遠程倉庫,可以看到如下結果

Git學習筆記 001 Git基礎 part3

批量提交便籤可以使用git push origin --tags命令

$ git push origin --tags

fatal: TaskCanceledException encountered.

Username for 'https://github.com': kutilion

Enumerating objects: 7, done.

Counting objects: 100% (7/7), done.

Delta compression using up to 4 threads

Compressing objects: 100% (4/4), done.

Writing objects: 100% (5/5), 459 bytes | 229.00 KiB/s, done.

Total 5 (delta 1), reused 0 (delta 0)

remote: Resolving deltas: 100% (1/1), completed with 1 local object.

To https://github.com/Kutilion/GitTestProject.git

* [new tag] v1.0 -> v1.0

* [new tag] v1.0-lw -> v1.0-lw

刪除標籤

刪掉本地倉庫標籤使用git tag -d 標籤名

$ git tag -d v1.0-lw

Deleted tag 'v1.0-lw' (was 6fa2268)

刪掉遠程倉庫標籤

$ git push origin :refs/tags/v1.0-lw

To https://github.com/Kutilion/GitTestProject.git

- [deleted] v1.0-lw

檢出標籤

可以通過checkout命令指定標籤,來取下該提交的文件,但是因為危險性較大,一般的項目都不會允許這樣做,這裡也不繫統學習了。

Git命令的別名

Git允許用戶為它的命令設置別名,比如

$ git config --global alias.ci commit

想使用commit命令,只要輸入git ci就可以了。但是在實際項目中,這個功能一般也是不允許普通開發者使用。當然,對自己技術比較自信的高級開發者甚至技術架構不在此列。

到此為止,Git的基礎學習已經完成。下一章將學習Git的重中之重,分支。分支的操作才是Git的精華所在。


分享到:


相關文章: