sourceTree
是一款優秀的 git 管理客戶端,不僅已經包含了很多常用操作,而且可以還新增 shell
指令碼來訂製自定義動作,大大節省了時間。
新增自定義指令碼
macOS 版本:Perference --> Custom Actions --> Add --> 選擇指令碼路徑和名字
分享若干指令碼
- stash
預設的 git stash
命令會將當前工作目錄和已快取中的檔案儲存起來,但是不包括未追蹤的檔案。但是很多時候只想儲存工作目錄中的所有內容。
目標:儲存的內容,只儲存工作目錄中所有內容(包含未追蹤檔案),並且不包括已快取的內容
指令碼:
git stash save --keep-index --include-untracked temp-`date +%s`
// --keep-index 保留已快取內容
// --include-untracked 包含未追蹤檔案
// date +%s 為時間戳
複製程式碼
- 清空工作目錄
git checkout . && git clean -df
// clean . 清除工作目錄中已追蹤的檔案的修改
// clean -df 刪除git未追蹤檔案和目錄
複製程式碼
- fetch
在多人協作開發的時候要經常拉取遠端分支程式碼,避免在無用程式碼上花費太多時間。並且 sourceTree
也有遠端分支更新的提醒。可以將遠端分支變更 fetch 到另外一個分支,方便跟開發分支對比:
git fetch origin develop:fetch-temp
複製程式碼
- pull merge
預設的 pull = fetch + merge , 但是為了獲取一個乾淨的提交線,很多時候會先 fetch 拉取下來遠端分支,再採用 rebase 命令合併。或者直接使用:
git pull --rebase
// 等同於 fetch + rebase
複製程式碼
如果你有更好的指令碼歡迎在評論區分享