8 個 Git 的小技巧

2022-08-12 09:03:12 字數 2034 閱讀 8362

git 已經成為了我日常必備工具之一,我總結我幾乎每天使用的8個有用(且簡潔)的git技巧。

使用-p選擇性新增

當你想提交內容時,你可以通過使用 git commit -am 來選擇所有檔案或使用 git add file 來新增特定檔案。然而,有時候你可能想只新增檔案的一部分來提交。你可以用 git add -p 互動性地選擇哪些你想提交的部分。

在選擇完你所想要提交的區塊後,只需要做乙個 git commit(沒有 -a),這樣只會提交選中的部分。同樣可以使用 git checkout -p 來選擇需要恢復的部分。新增後,你可以使用 git diff –cached 來檢視差異。

互動式的重建基準(interactive rebase)

如果你在乙個分支上工作,同時進行了一些 wip 提交(commit) ,以用來壓縮合併(squash)或者刪除乙個提交(commit)以及這個提交的恢復, 你可以做乙個互動式的重建基準(rebase),用來重新組織提交。

為了做到這點,你需要執行命令 git rebase -i ,這裡的是你想要重寫之前的乙個提交(commit)的sha1值。接下來,它將在你的編輯器(在$editor環境變數,或者git配置裡面指定的編輯器)上面開啟一些指令,用來變更提交(commit)歷史,你可以選擇壓縮合併(將兩次提交合併為一次新的提交),重寫(變更提交資訊),編輯甚至刪除乙個提交(commit)。

請注意這改變了歷史資訊,因此,如果你提交了這個變更,你將不得不再一次強制提交(push),所以,絕不要在主分支,或者有其他人(除你之外)在使用的分支上面做這個操作。

儲藏(stashing)

如果你正忙於什麼事情,你必須更改文字去修復其他問題,去git stash查到到儲藏在當前中的更改。然而,過一段時間後,你可能就會忘記關於這個已儲藏的變更。因此,我試著去保持乙個儲藏0(就像收件箱0如果沒有儲藏的情況)規則。每一次我儲藏乙個美元訊號出現在我的輸出,並且我通過git stash show -p檢查,還可以通過git stash pop彈出或者通過git stash clear丟棄。

全域性gitignore

在專案的根目錄,你可以通過檔案.gitignore來指定git需要忽略的檔案。但是,如果存在git需要忽略的檔案,同時,你又是唯一建立這個檔案的人(如vim的 bkp檔案,編輯器或者作業系統生成的一些檔案,如osx生成的.ds_store檔案),你可以在配置檔案中指定全域性的gitignore檔案,它和工程中的.gitignore檔案使用一樣的語法格式。

git config --global core.excludesfile=/users/flores/.gitignore

空格警告

自動重建**基準(auto setup rebase)

更好的日誌(logging)

git log --graph --decorate --pretty=oneline --abbrev-commit

–graph 會在各個提交之間列印出線條,這些線條可以展示出分支之間的關係。

–decorate 顯示出分支處在哪一次提交上。

–pretty=oneline 只是在一行中顯示 sha1 和 提交的注釋(譯者將title一詞應對到更精確的注釋)

–abbrev-commit 用開始的7個sha1字元代替整個sha1(他在你的倉庫中是唯一的)。

你可以到explain shell去看這些選項的更詳細(且是完整)的解釋。

改寫提交的注釋

如果你在提交**的時候注釋不能準確的描述當前提交,或者你寫了錯別字。你可以使用 git commit –amend 來改寫你已經提交的注釋。 他允許你在命令列中通過 -m 選項來指定新注釋或直接開啟系統預設編輯器讓你來編輯新的注釋。  另外你還可以把一些新的變化加入到上一次提交中。請記住 該操作和 interactive rebase 一樣,他會改變提交歷史。如果你已經把你改動的這次提交push了,那麼你需要強制(force)push這次變化。

8 個 Git 的小技巧

git 已經成為了我日常必備工具之一,我總結我幾乎每天使用的8個有用 且簡潔 的git技巧。使用 p選擇性新增 當你想提交內容時,你可以通過使用 git commit am 來選擇所有檔案或使用 git add file 來新增特定檔案。然而,有時候你可能想只新增檔案的一部分來提交。你可以用 git...

8 個 Git 的小技巧

git 已經成為了我日常必備工具之一,我總結我幾乎每天使用的8個有用 且簡潔 的 git技巧。使用 p選擇性新增 當你想提交內容時,你可以通過使用 git commit am 來選擇所有檔案或使用 git add file 來新增特定檔案。然而,有時候你可能想只新增檔案的一部分來提交。你可以用 gi...

搜尋效率提公升的8個小技巧

搜尋技巧2 精確搜尋 搜尋技巧4 指定檔案格式 搜尋技巧5 指定標題搜尋 搜尋技巧6 指定正文搜尋1 搜尋技巧8 疊加使用 示例 錘子 錘子手機 功能是 只搜尋引號裡的字 示例 達拉不崩吧 示例 site zhihu.com 摳腳 示例 filetype pdf gb2626 2006 示例 int...