在git中添加深层文件夹

时间:2014-02-21 02:43:57

标签: git

在java中编程时,文件结构通常与

一样深
com/company/project/folder/subfolder

因此,在添加文件时,您必须输入

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

有更快的方法吗?像某种git add-if-matches SomeAwesomeClass.java

4 个答案:

答案 0 :(得分:2)

如果您打算添加整个子目录,那么您只需添加目录

即可
git add com

如果你真的只想添加那个类,那么最简单的解决方案是做Unix事情并一起编写命令。在这种情况下,find命令非常适合查找具有给定名称的文件。您可以通过使用$()

包围find命令,将find的输出传递给bash中的git
git add $(find . -name SomeAwesomeClass.java)

答案 1 :(得分:1)

除非目录结构中还有其他您不想添加的文件,否则只需键入git add com即可。

答案 2 :(得分:1)

尝试以下命令:

git add *AwesomeClass.java

但是这将在当前目录或其任何子目录下尽可能深地添加具有该名称的所有文件。

如果您只想在特定目录中添加特定文件,可以尝试:

git add *subfolder/SomeAwesomeClass.java

您还可以尝试以下操作添加特定目录中的所有文件:

git add *subfolder/*

请注意,星号符号前后没有空格。

我已经在Mac OS X上尝试过这些相同的场景,但它确实有效。

答案 3 :(得分:0)

好的,所以我做了一点配方。一个简单的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