七個Git技巧

2022-07-11 01:18:08 字數 3234 閱讀 9239

1. git的自動更正

我們有時都會打錯字,但如果啟用了 git 的自動更正功能,就可以讓 git 自動修正打錯的子命令。

假設你想用git status檢查狀態,卻不小心輸入了git stats。正常情況下,git 會告訴你stats不是一條有效的命令:

1

$ git stats

2 git: 『stats』 is

not a git command. see 『git --help』.

3 the most similar command is

4 status

為了避免類似的情況發生,請在 git 配置中啟用 git 自動更正功能:

$ git config --global help. autocorrect 1
如果你希望這個命令只適用於你當前的版本庫,請省略--global選項。

1

$ git stats

2 git: 『stats』 is

not a git command. see 『git --help』.

3on branch master

4 your branch is up to date with 『origin/master』.

5 nothing to commit, working tree clean

git 現在不會建議使用其他子命令,而是直接執行最上面的建議,在本例中是git status

2. 計算你的提交量

要計算提交數量其實很簡單直接,下面是 git 的命令:

$ git rev-list --count branch-name
在上面的命令中,branch-name應該是當前版本庫中有效的分支名稱:

$ git rev-list –-count master

32$ git rev-list –-count dev

34

3. 優化你的倉庫你的**倉庫不僅對你有價值,對你的組織也有價值。你可以通過一些簡單的做法來保持你的版本庫的清潔和更新。其中乙個最好的做法是使用 .gitignore檔案 。使用這個檔案,就是告訴 git 不要儲存許多不需要的檔案,比如二進位制檔案、臨時檔案等等。

為了進一步優化你的版本庫,你可以使用 git 的垃圾收集功能:

1 $ git go --prune=now --aggressive
當你或你的團隊大量使用pullpush命令時,這條命令就會起到幫助作用。

這個命令是乙個內部工具,可以清理倉庫中無法訪問或 「孤兒」 git 物件。

4. 備份未被跟蹤的檔案

大多數時候,刪除所有未被跟蹤的檔案是安全的。不過很多時候,你不僅要刪除,還要為你的未跟蹤檔案建立乙個備份,以備以後需要。

通過 git 和一些 bash 命令管道,可以很容易地為你的未被跟蹤的檔案建立乙個壓縮包:

$ git ls-files --others --exclude-standard -z |\

xargs -0 tar rvf ~/backup-untracked.zip

上面的命令製作了乙個名為backup-untracked.zip的存檔(並排除了.gitignore中列出的檔案)。

5、了解你的 .git 資料夾

每個版本庫都有乙個.git資料夾。它是乙個特殊的隱藏資料夾。

$ ls -a

. … .git

git 的工作主要依賴於兩個部分:

1. 工作樹(你當前簽出的檔案狀態)。2. 你的 git 倉庫的路徑(即你的.git資料夾的位置,其中包含版本資訊)。

這個資料夾儲存了所有的引用和其他重要的細節,比如配置、倉庫資料、head 狀態、日誌等等。

如果你刪除這個資料夾,你的源**的當前狀態不會被刪除,但你的遠端資訊,如你的專案歷史記錄,會被刪除。刪除這個資料夾意味著你的專案(至少是本地副本)不再處於版本控制之下。這意味著你不能跟蹤你的變化;你不能從遠端拉取或推送。

一般來說,不需要在.git資料夾裡做什麼,也沒有什麼應該做的。它是由 git 管理的,基本上被認為是個禁區。然而,這個目錄裡有一些有趣的工件,包括 head 的當前狀態。

$ cat .git/head

ref: refs/heads/master

它還可能包含對你的儲存庫的描述:

$ cat .git/description
這是乙個未命名的倉庫,編輯這個description檔案可以命名這個倉庫。

6、檢視另乙個分支的檔案

有時你想檢視另乙個分支的檔案的內容。用乙個簡單的 git 命令就可以實現,而且不需要切換分支。

使用下面的 git 命令,你可以在終端上完成:

$ git show main:readme.md
一旦你執行了這個命令,你就可以在你的終端上檢視檔案的內容。

7、在 git 中搜尋

只需乙個簡單的命令,你就可以像專業人士一樣在 git 中搜尋。更棒的是,即使你不確定是在哪個提交或分支上做的修改,也可以在 git 中搜尋。

例如,假設你想在你的版本庫中搜尋font-size: 52 px;這個字串:

$ git rev-list –all | xargs git grep -f '

font-size: 52 px;

'f3022…

9e12:htmltemplate/style.css: font-size: 52

px;e9211…

8244:rr.web/content/style/style.css: font-size: 52 px;

七個你無法忽視的Git使用技巧

修改錯誤的提交資訊 commit message 提交資訊很長時間內會一直保留在你的 庫 code base 中,所以你肯定希望通過這個資訊正確地了解 修改情況。下面這個命令可以讓你編輯最近一次的提交資訊,但是你必須確保沒有對當前的 庫 working copy 做修改,否則這些修改也會隨之一起提交...

七個你無法忽視的Git使用技巧

提交資訊很長時間內會一直保留在你的 庫 code base 中,所以你肯定希望通過這個資訊正確地了解 修改情況。下面這個命令可以讓你編輯最近一次的提交資訊,但是你必須確保沒有對當前的 庫 working copy 做修改,否則這些修改也會隨之一起提交。git commit amend m your ...

七個你無法忽視的Git使用技巧

程式開發中的版本控制必不可少,python開發也一樣。而版本控制系統中,目前使用最廣泛的,可能就是git,而它最著名的代表就是github。本篇譯文為大家介紹了7個git使用技巧,目的都是方便程式設計師彌補自己在開發中所犯的錯誤。與其他技術相比,git應該拯救了更多開發人員的飯碗。只要你經常使用gi...