2014-02-21 57 views
3

添加深層文件夾當Java編程中是很常見的,其文件結構深如在混帳

添加你必須鍵入

git add com/company/project/folder/subfolder/SomeAwesomeClass.java 

文件

com/company/project/folder/subfolder 

所以,當有一個更快的方法?像某種git add-if-matches SomeAwesomeClass.java

回答

1

嘗試弗洛翼命令:

git add *AwesomeClass.java 

但是,這將添加的所有文件與該名稱的當前目錄或任何子目錄儘可能深下。

如果你想添加特定目錄中只有一個特定的文件,你可以嘗試:

git add *subfolder/SomeAwesomeClass.java 

您也可以嘗試以下方法來添加一個特定目錄中的所有文件:

git add *subfolder/* 

請注意,在星號符號之前或之後沒有空格。

我已經在Mac OS X上使用相同的確切場景嘗試了這些操作。

1

您可以只輸入git add com除非有在目錄結構中的其他文件,你不希望添加..

2

如果要添加的整個子目錄,那麼你可以簡單git的添加目錄

git add com 

如果你真的只需要添加一個類,那麼最簡單的方法是做Unix的事情並撰寫命令在一起。在這種情況下,find命令非常擅長查找具有給定名稱的文件。您可以通過查找的輸出由周圍find命令與$()

git add $(find . -name SomeAwesomeClass.java) 
+0

你有沒有試過[互動分期](http://git-scm.com/book/en/Git-Tools-Interactive-Staging)?這正是它的意義所在。 'git add -i'彈出一個菜單以及更改/未跟蹤的文件列表。要從長長的路徑列表中添加2個文件,您鍵入的內容將類似於這9個按鍵:'u q '。您必須添加的路徑越多,您保存的輸入就越多。您還可以從菜單中選擇補丁添加,差異和其他幾項。 –

+0

@GaryFixler謝謝。我從來不知道互動舞臺。幾乎在所有情況下,這可能都是正確的工具。當你有數百個未跟蹤文件時,它是否也會擴展? –

+0

是的。例如,要添加修改後的文件,在點擊'u'或'2'從菜單中選擇'2:update'後,可以鍵入'3 '在列表中添加第三個文件,或者可以鍵入'1 2 5 '要添加文件1,2和5,或者甚至可以輸入'3-27 '來添加文件3到27,甚至可以輸入'1 4 6-13 25-27 34 '將這些添加到列表中。這是一個非常快捷的方式來演示事情。 –

0

好與git在bash,所以我只是想出一個小偏方。一個簡單的bash功能,您可以添加到您.bash_profile中

function add(){ 
    git add $(git status --porcelain | grep "$1" | cut -c 4-) 
} 

要使用它,你可以叫add something,它會增加相匹配的任何文件,所以如果你有2個文件:

com/company/project/folder/subfoler/AwesomeClass.java 
com/company/project/folder/subfoler/subfolder/CoolClass.java 

您可以撥打

add Awesome 

而且這將增加AwesomeClass.java