標籤是版本庫的乙個快照,發布乙個版本時,通常現在版本庫中設定乙個標籤,這樣就唯一確定了打標籤時刻的版本。標籤是與某個版本commit聯絡在一起的,commit id一般是一串字元,不容易查詢,這時候若對這個發布版本設定了乙個標籤,要查詢這個標籤就容易多了。
git tag 設定新的標籤:
git tag v1.0
這個命令設定標籤預設是設定在最新提交的commit上的,若要設定在歷史提交的commit上,需要找到歷史提交的commit id,然後使用命令:
git tag v0.5
可以用命令:
git tag
檢視所有標籤。
若需要檢視某個標籤的詳細資訊,可以使用命令:
git show v1.0
若要建立帶有說明的標籤,便於管理與維護,可以使用帶引數的命令:
git tag -a v1.0 -m "version 1.0 released"
-a指定標籤名, -m 指定說明文字,可選,若無,表示是最新提交的commit,否則是指定commit。
注意⚠️:標籤總是和某個commit關聯,如果這個commit在不同的分支上出現,那麼在這些分支上都能看到這個標籤。
若標籤需要刪除,有以下兩種情況:
1)標籤沒有推送到遠端
git tag -d v1.0
建立的標籤儲存在本地,不會自動推送到遠端,可以安全刪除。
若要將某個標籤推送到遠端,使用命令:
git push origin v1.0
或一次性推送全部尚未推送到遠端的本地標籤:
git push origin --tags
2)標籤已經推送到遠端
(1)刪除本地標籤
git tag -d v1.0
(2)從遠端刪除
git push origin :refs/tags/v1.0
確認遠端庫是否刪除了標籤,登陸github檢視即可。
忽略檔案的原則是:
1.忽略作業系統自動生成的檔案;
2.忽略編譯生成的中間檔案、可執行檔案等
3.忽略帶有敏感資訊的配置檔案
可以使用命令:
echo
"file name"
>> .gitignore
其中,filename是要忽略的檔名,.gitignore是乙個已經存在的檔案,我們只需要將要忽略的檔案新增到檔案中即可。
若要忽略的檔案字尾名相同,且這個字尾名的所有檔案都要被忽略,可以使用萬用字元來執行:
echo
"*.pyc"
>> .gitignore
若需要將已經忽略的檔案新增到git中,可以使用命令-f 強制新增:
git add -f license.txt
或者你懷疑.gitignore寫錯規則了,可以使用命令:
git check-ignore -v license.txt
來檢查。
git可以通過配置,將較長的命令名稱設定較短的別名,比如可以設定status的別名為st:
git config --gobal alias.st status
–gobal 引數是全域性引數,也就是這些命令在這台電腦的所有git倉庫都可以使用。如果不加這個引數,那只對當前倉庫起作用。
每個倉庫的配置檔案都放在.git/config檔案中,可以使用命令:
cat .git/config
來檢視,若要刪除某個配置,可以開啟該檔案,直接把對應的行刪掉即可。
而當前使用者的git配置檔案放在使用者主目錄的隱藏檔案.gitconfig中:
cd ~
cat .gitconfig
國外網友製作的git cheat sheet:git cheat sheet
記錄下,時不時的拿出來??
版本控制系統之GIT
版本控制系統作用 記錄 管理和跟蹤整個 開發過程,確保不同開發人員之間的 同步。git 開發者 linux作者 奈斯.託瓦斯 特點 開源 免費 同類的還有svn,兩者為市場主要使用的版本控制系統,svn定位於企業級,區別主要為svn許可權較高,且為集中式版本控制系統,必須連上svn伺服器 git為分...
版本控制系統 Git學習
同生活中的偉大事件一樣,git 誕生於乙個極富紛爭大舉創新的年代。linux 核心開源專案有著為數眾廣的參與者。絕大多數的 linux 核心維護工作都花在了提交補丁和儲存歸檔的繁瑣事務上 1991 2002年間 到 2002 年,整個專案組開始啟用分布式版本控制系統 bitkeeper 來管理和維護...
版本控制系統之Git學習一
分布式版本控制系統沒有 伺服器概念,每個人的電腦都是乙個完整的版本庫,此時不需要聯網就可以正常工作。那多人如何進行協作呢?a在自己的電腦上修改了檔案x,b也在自己的電腦上修改了檔案x,此時,ab之間只需將各自的修改推送給對方,就可以看到對方的修改。分布式版本控制系統相比於集中式來說,安全性更高。實際...