Git 添加命令失败说 "filename too long"

标签 git version-control

我初始化了一个 git 存储库以添加 Oracle Weblogic 服务器的本地实例(是的!)以使用 git 对其进行版本控制。

oracle 文件位于 c:\Oracle。所以我需要将相同的内容添加到 git

我发出了以下命令

git init (在 c:\里面有 Oracle 目录)

在 c:\中添加了一个 .gitignore 目录并忽略 c:\中除 Oracle 之外的所有目录

然后运行“git status”来查看状态。正如预期的那样,它显示了以下内容

C:\>git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
#       Oracle/
nothing added to commit but untracked files present (use "git add" to track)

现在,我做了一个 git add * 上面的命令如预期的那样抛出一些详细的输出,显示正在添加的文件并以以下内容结尾(命令输出的尾部显示在下面)

....
base_domain/servers/AdminServer/tmp/.appmergegen_1387484701373_liferay-portal-6.
1.30-ee-ga3-20130812170130063.war/html/VAADIN/themes/runo/tree/tree.css.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in Oracle/Middleware/user_projects/domains/
base_domain/servers/AdminServer/tmp/.appmergegen_1387484701373_liferay-portal-6.
1.30-ee-ga3-20130812170130063.war/html/VAADIN/themes/runo/window/window.css.
The file will have its original line endings in your working directory.
fatal: unable to stat 'Oracle/Middleware/user_projects/domains/base_domain/serve
rs/AdminServer/tmp/.appmergegen_1387484701373_liferay-portal-6.1.30-ee-ga3-20130
812170130063.war/html/VAADIN/widgetsets/com.vaadin.portal.gwt.PortalDefaultWidge
tSet/043D1FB3F694D0D6D3ACFB33DB80E43D.cache.html': Filename too long

然后我发布了一个git status来查看文件是否被添加

C:\>git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
#       Oracle/
nothing added to commit but untracked files present (use "git add" to track)

所以看起来好像什么都没有添加。文件夹对 git 来说太大了吗?

我已经尝试过 Bazaar,每当我使用存储库时,它的 GUI 控件就会卡住。现在我正在尝试 Mercurial 看看它是否可以处理它。

最佳答案

像这样重新映射到更短的驱动器 subst X: C:\<__relevant_lengthy_path__>\

--

我遇到了类似的情况,确认了 Max Path length for Windows 的 260 个字符限制。

我的处理方式是使用 SUBST (替换)命令将任何冗长的文件夹映射到单个字母驱动器,例如 subst X: C:\<__relevant_lengthy_path__>\

然而,在您的情况下,很不幸您在 C:\ 中启动了 git这是不寻常和勇敢的:)

关于Git 添加命令失败说 "filename too long",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20709891/

相关文章:

Git 标签,为什么 Remote 中有这个重复的标签?

windows - Mercurial 与颠覆。谁的表现更好?

linux - 版本控制在多大程度上可以帮助系统管理?

git:如何以交互方式逐个分支删除远程仓库中不存在的本地分支?

c# - 我可以在平面层次结构中组织 Git 子模块吗?

git - 监听 Git Repo 的变化

c# - 使共享库可用于多个应用程序的最佳方法是什么?

git - 我的代码还有多少?

git - 'fatal: LF would be replaced by CRLF'会影响源代码吗?

git - 在 perforce 和 git 之间同步