Jon*_*nan 13 windows git path msysgit
我正在尝试使用git来更有效地管理使用CVS进行源代码控制的项目,但是我遇到了问题add- 一个确实有很长路径的文件 - 276个字符.
不幸的是,这个文件是由我正在使用的工具随附的自定义IDE生成的,并且它应该由该工具存在,因此无法重命名或移动.
使用以下方法尝试使这半可读:
<projectpath>- 保存此项目所有组件
<hugepath>的路径 - 从<projectpath>我遇到问题的第一个文件的路径 - 我遇到问题
<filename>的文件的名称
me@work <projectpath>
$ git init
Initialized empty Git repository in <projectpath>/.git/
me@work <projectpath> (master)
$ git add <hugepath>/<filename>
fatal: unable to stat '<hugepath>/<filename>': No such file or directory
me@work <projectpath> (master)
$ ls -al <hugepath>
ls: <hugepath>/<filename>: File or path name too long
total 3
drwxr-xr-x 3 me Administ 0 May 3 2010 .
drwxr-xr-x 4 me Administ 4096 May 3 2010 ..
drwxr-xr-x 2 me Administ 0 May 3 2010 CVS
Run Code Online (Sandbox Code Playgroud)
msys工具使用UNC前缀来处理路径,这通常允许您在Windows上处理长文件,但这似乎并没有解决路径限制:
me@work <projectpath> (master)
$ git add //?/<projectpath>/<hugepath>/<filepath>
fatal: Too long path: //?/<projectpath>/<hugep (intin - the path displayed is trimmed)
me@work <projectpath> (master)
$ ls-al //?/<projectpath>/<hugepath>/
ls: //?/<projectpath>/<hugepath>/.: No such file or directory
ls: //?/<projectpath>/<hugepath>/<filepath>: No such file or directory
total 2
drwxr-xr-x 4 me Administ 4096 May 3 2010 ..
drwxr-xr-x 0 me Administ 0 May 3 2010 CVS
Run Code Online (Sandbox Code Playgroud)
在Windows上使用git跟踪具有长路径的文件是否有任何变通方法?
我在Windows Vista Business,SP1上使用1.7.4.msysgit.0.
Roy*_*son 13
限制是259个字符,所以你离我不远.如果长度<hugepath>/<filename>小于256个字符,那么你可以使用"subst"技巧:
一种选择是subst从Windows命令shell使用:
subst P: <projectpath>
Run Code Online (Sandbox Code Playgroud)
然后使用mysysgit:
cd /p
<git commands>
Run Code Online (Sandbox Code Playgroud)
或者,如果这不起作用,则可以从Windows Vista/7/2008命令shell(RunAs管理员)创建硬链接:
mklink /D C:\p <projectpath>
Run Code Online (Sandbox Code Playgroud)
然后使用mysysgit:
C:
cd \p
<git commands>
Run Code Online (Sandbox Code Playgroud)