1

我很难找到这个问题的答案,所以我在这里问。

我在 Windows 7 Ultimate 64 位上安装了上述适用于 Windows 的 Git 版本。

我有一个 EXISTING 文件夹,其中包含许多子文件夹,其中许多文件夹名称中有空格,并且其中包含的许多文件中都有空格。我希望顶级文件夹成为我的“项目”文件夹。我在那个文件夹中初始化了 Git。

当我运行“git status”时,我收到了预期的“未跟踪文件”消息,所以我输入“git add .”。

所有文件都添加到我的项目中进行跟踪,但没有子文件夹。在手动添加每个子文件夹(呃!)之后,我遇到了一个特定的子文件夹,无论我尝试什么都不会添加。文件夹名称中包含空格,但我已成功添加其他带有空格的子文件夹。但是,我无法添加这个。该文件夹的名称是“_04_Spry Script Tests”。

在 Google 上进行了大量搜索后,我尝试了很多方法。这是我记得做过的所有事情的清单。可能还有其他人,但是(我的错)我没有记录我尝试过的每一个实例。对于那个很抱歉。

git add .
git add "_04_Spry Script Tests"/.
git add "_04_Spry Script Tests/".
git add */.
git add "_04_Spry*"/.
git add "_04_Spry"*/.
find . -iname "*.*" | xargs git add
git add */\*.*
git add "_04_Spry Script Tests/"\*.*

谁能帮我这个?我做错了什么或错过了什么?

我想“git add”。在主项目文件夹下添加了所有内容。我弄错了吗?

提前感谢任何花时间为我提供帮助的人。让我很烦!=(


回复@BrianCampbell 的问题

嗨,布赖恩:

感谢您的回复。

是的,子文件夹中有文件。

不,该.gitignore文件没有与文件夹(目录)名称或其中任何文件匹配的文件夹或任何模式。

其中一个子文件夹(来自根文件夹)的文件夹树是:

_04_Spry Script Tests\Programs & Services
_04_Spry Script Tests\Programs & Services\SCfK
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\_images
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\SCFK_Swim_Lessons_Program.jpg
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\Swim Schedules
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\Swim Schedules\Spring 2010
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\Swim Schedules\Spring 2010\Swim Schedules
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\Swim Schedules\Spring 2010\Swim Schedules\Swim (Schedule) Spring 2010.pdf
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\_images\mock-up.jpg
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\_images\SCFK_Swim_Lessons_Program.jpg

根(主项目)目录是_04_Spry Script Tests

还有许多其他子文件夹。这有帮助吗?


编辑: @BrianCampbell,当然,当我在新初始化的 Git 文件夹中测试它时,我刚刚给出的示例不会引起任何问题,您要求我将示例目录复制到其中以进行说明!*ugh!* 我不确定哪个子文件夹或文件会成为问题。他们有很多。对不起。

4

1 回答 1

1

那个文件夹里有东西吗?Git 本身并不实际跟踪文件夹。它只跟踪文件,文件夹实际上只作为文件名的一部分进行跟踪。如果文件夹为空,则无需添加任何内容。如果要确保在结帐时创建隐藏文件,可以将隐藏文件添加到文件夹中。

或者,.gitignore您的顶级目录或任何子目录中是否有文件?它是否具有与该目录名称或其中所有文件的名称匹配的模式?.gitignore如果是这样,您应该从您git add -f.gitignore.

如果这些建议都没有帮助,您是否可以尝试将您的目录树精简到重现问题所必需的程度(仅是一个目录,或者尽可能少地出现问题),并显示整个目录你的问题的结构?这将有助于缩小问题的范围。如果你有它,tree显示完整目录结构的一个很好的列表;如果没有,ls -lR会做。

编辑:还有几件事要检查。一方面,我对你的目录结构有点困惑。该_04_Spry Script Tests目录是根目录(是否包含.git目录)?还是上一层?在您的许多示例中,您正在运行git add _04_Spry Script Tests,但如果这是根目录,则需要git add从其中运行。

要检查的一件事是您是否有嵌套的 Git 存储库,这可能会导致问题。是否有一个.git以上级别的目录?例如,如果_04_Spry Script Tests目录外有一个,目录内有一个,而您试图将_04_Spry Script Tests目录添加到外部存储库,您会遇到问题。

另一个问题是当你跑步时会发生什么git add?你有任何错误,还是没有输出?有没有git add -v给你更多信息?

如果您运行git status,您是否看到有关这些目录的任何信息?

如果这些都不起作用,请尝试显示以下命令的输出。如果它们生成大量输出,则可以将其缩减为仅包含有问题的目录的行:

git status -s
git ls-files -cs
git ls-files -io --exclude-standard
git ls-files -d
于 2012-11-08T03:43:33.593 回答