Git教學篇2-git日常操作之git clone與git tag

前言

在上一篇文章《 》中,我們講解了git config相關內容。

這篇文章我們繼續Git教學第二篇-git的基礎操作,很多官方文檔中的內容往往講的太細緻在實際中並不常用,這裡我會過濾掉它們而選擇那些常用的內容進行講解,爭取讓大家能快速的掌握git。

Git教學篇2-git日常操作之git clone與git tag

git

基礎操作1-遠程倉庫

在git中存在一個倉庫的概念,表示的是一個項目的文件集合。

  • clone

在安裝,配置完git後,首要的應該就是去clone遠程倉庫了,命令是git clone [url],url是每個git倉庫都會提供的。

下面以我自己的github項目為例進行演示。在github項目倉庫的中間有個clone or download按鈕,點擊一下就會出現一個框,裡面包含的是項目clone的url。

Git教學篇2-git日常操作之git clone與git tag

git clone的url

然後我們在本地目錄下進入一個文件夾,運行git clone命令。

Git教學篇2-git日常操作之git clone與git tag

git clone

運行完成後,會自動創建一個以github倉庫名為名稱的文件夾,進入到這個文件夾後可以看到裡面的文件就是倉庫中所包含的文件了。

  • git clone -b

在git clone操作中,git會默認拉取倉庫master分支上的文件,所以當我們運行git branch時只能看到一個master分支。

Git教學篇2-git日常操作之git clone與git tag

git branch

在大多數情況下,我們常用的操作是clone master分支上的文件,然後對應創建個人開發分支,測試分支等等。

但是有的時候我們卻不需要這麼做,假如master分支已經遺棄很久,我們需要直接clone其他的分支該怎麼辦呢?

我們可以通過-b參數去clone特定的分支。

我們通過運行git clone -b dev [url]去clone只包含dev分支的文件。

Git教學篇2-git日常操作之git clone與git tag

git clone -b

基礎操作2-打標籤

通過git打標籤在實際開發中也是很常見的一個操作,一個標籤往往是一個版本號的內容。比如一期項目的封版與上線,都會有一個特定的版本號,同時在線上發現問題進行hotfix時,也會進行版本號的修改。


在git中通過tag命令進行標籤相關的操作。

  • 查看所有標籤

在所在的項目目錄下運行git tag可以查看當前所有的標籤。

Git教學篇2-git日常操作之git clone與git tag

git tag

  • 查看感興趣的標籤

如果一個項目下的標籤太多,而你只對其中的幾個感興趣,可以通過-l選項進行過濾。

如下是過濾出v1.8.5相關的版本。

$ git tag -l 'v1.8.5*' v1.8.5 v1.8.5.1 v1.8.5.2 v1.8.5.3 v1.8.5.4
  • 創建標籤

通過-a選項我們可以創建一個標籤,同時通過-m選項指定一條存儲在標籤中的信息,這裡的-m類似於git commit的-m。

如下這條命令就可以給項目打一個標籤了,表示當前項目版本號為v1.4。

git tag -a v1.4 -m 'v1.4'
  • 補充標籤

假如在某次提交時,你忘了對項目打標籤,這個時候可以針對某次提交進行打標籤操作。

首先需要通過git log --pretty=oneline命令查看所有的提交歷史。

$ git log --pretty=oneline 0b7434e add a function 4682c3a add a file 166ae0c write support 9fceb02 updated rakefile 964f16d commit the todo 8a5cbc4 updated readme

假如我們需要在964f16d提交記錄上打一次標籤。

可以通過運行以下這條命令。

$ git tag -a v1.2 964f16d
  • 推送標籤

在git push操作時默認是不會推送tag標籤的,所以需要通過命令--tags選項專門推送tag標籤。

$ git push origin --tags

推送成功後,我們可以去github上查看到剛才推送的標籤。

Git教學篇2-git日常操作之git clone與git tag

推送標籤

結束語

今天這篇文章主要是講解了git clone與git tag相關的操作,大家也可以熟練運用。

下一篇文章將講到git status與git commit相關的內容,敬請期待~


分享到:


相關文章: