版本控制系統之Git學習五

2021-09-27 15:31:05 字數 2131 閱讀 5355

標籤是版本庫的乙個快照,發布乙個版本時,通常現在版本庫中設定乙個標籤,這樣就唯一確定了打標籤時刻的版本。標籤是與某個版本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之間只需將各自的修改推送給對方,就可以看到對方的修改。分布式版本控制系統相比於集中式來說,安全性更高。實際...