gitSource 自定義指令碼

DaleZhang發表於2018-04-21

sourceTree 是一款優秀的 git 管理客戶端,不僅已經包含了很多常用操作,而且可以還新增 shell 指令碼來訂製自定義動作,大大節省了時間。

新增自定義指令碼

macOS 版本:Perference --> Custom Actions --> Add --> 選擇指令碼路徑和名字

gitSource 自定義指令碼

分享若干指令碼

  1. stash

預設的 git stash 命令會將當前工作目錄和已快取中的檔案儲存起來,但是不包括未追蹤的檔案。但是很多時候只想儲存工作目錄中的所有內容。

目標:儲存的內容,只儲存工作目錄中所有內容(包含未追蹤檔案),並且不包括已快取的內容

指令碼:

git stash save --keep-index --include-untracked temp-`date +%s`
// --keep-index 保留已快取內容
// --include-untracked 包含未追蹤檔案
// date +%s 為時間戳
複製程式碼
  1. 清空工作目錄
git checkout . && git clean -df
// clean . 清除工作目錄中已追蹤的檔案的修改
// clean -df 刪除git未追蹤檔案和目錄
複製程式碼
  1. fetch

在多人協作開發的時候要經常拉取遠端分支程式碼,避免在無用程式碼上花費太多時間。並且 sourceTree 也有遠端分支更新的提醒。可以將遠端分支變更 fetch 到另外一個分支,方便跟開發分支對比:

git fetch origin develop:fetch-temp
複製程式碼
  1. pull merge

預設的 pull = fetch + merge , 但是為了獲取一個乾淨的提交線,很多時候會先 fetch 拉取下來遠端分支,再採用 rebase 命令合併。或者直接使用:

git pull --rebase
// 等同於 fetch + rebase
複製程式碼

如果你有更好的指令碼歡迎在評論區分享

相關文章