使用TortoiseGit

时间:2017-06-23 10:00:48

标签: git cygwin tortoisegit

我的目录中有一个包含文件的文件夹,尚未受版本控制。如果我右键单击该文件夹并转到TortoiseGit - >添加我收到消息:

  

没有什么可补充的。所有文件和文件夹都受版本控制,被忽略或全局忽略配置设置。

当我进入文件夹并选择单个文件时,我可以添加它们。如果我启动一个命令行并使用git add --all,它会执行我想要的TortoiseGit并递归添加。

根据TortoiseGit Manual它应该能够做到这一点:

  

许多添加:   您还可以在文件夹上使用“添加”命令。在这种情况下,添加对话框将显示该版本化文件夹中的所有未版本控制的文件。如果您有许多新文件并且需要一次添加它们,这会有所帮助。

我错过了什么?

2 个答案:

答案 0 :(得分:1)

Cygwin Git需要在TortoiseGit中启用一个特殊的HACK才能启用一些解决方法(参见https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html并搜索" Cygwin")。启用此标志后,您正在讨论的问题即可解决。

PS:请注意,Cygwin Git在Windows上有点破碎,因为它甚至没有通过整个测试套件。因此TortoiseGit并不完全支持它。建议使用Git for Windows(参见https://stackoverflow.com/a/32427897/3906760

答案 1 :(得分:-1)

问题是TortoiseGit / Cygwin中的错误与以下行有关(在调试日志中执行):

" C:\路径\到\ git.exe" ls-files --exclude-standard --full-name --others -z - " dir \ subdir"

该命令输出一个文件位置列表,这些文件位置相对于尚未包含在仓库中的工作副本和 - " dir \ subdir"在此列表中搜索当前dir \ subdir中的文件。

Cygwin是cygwin使用正斜杠输出文件" dir / subdir"所以搜索没有返回任何文件。

只有在工作副本的第二级尝试添加时才会出现此错误(最高级别和1级向下工作,因为他们没有" \"在搜索中)。

编辑:由于CygwinHack值为假,MrTux的答案是正确的