2017-07-01 27 views
0

我已經目錄結構是這樣的:顯示了在特定目錄未提交的文件(不包括其他)在混帳

RootDir 
    `-----Code 
    |  `-----Tests 
    `-----Utils 
    `-----Temp 

我剛纔提到的文件夾。我希望看到Code/任何未上演/不提交的文件,但不Code/Tests/

我想是這樣,但git diff --name-only "ThisPath But Exclude ThatPath我找不到相關的排除在man git diff選項。文件的內容對我來說並不重要,我只想跟蹤特定分支上的任何更改。

一個可能的解決方案可能是GITIGNORE運行時期望的路徑(不在我的.gitignore文件中)。但是我無法找到這樣的能力。


p.s.我的主要目標是編寫一個shell函數,它向我顯示與最新提交相關的特定目錄分支是否有更改。

p.s.使用shell可以將git -diff --name-only管理到某些工具,例如grep/ag/rg/etc,但我想首先嚐試使用基於git的解決方案

回答

0

如果你是在bash,您可以啓用extglob和使用排除模式:

shopt -s extglob #Enables extglob 
git diff --name-only -- Code/!(Tests) 
+0

我使用的zsh和'git的差異--name只 - 代碼/ ^臺*'可以作爲你說過。但是我使用Matlab'system()'函數來執行git命令,因此glola不可用。 – SdidS

相關問題