git --git-dir无法在windows中运行

Sya*_*yam 4 git msysgit

在Git的钩子脚本中,我试图运行这样的命令..

请参考(git --git-dir未按预期工作)

git log --name-status --git-dir="C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\CMS\.git" --work-tree="C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\CMS"
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时,我收到以下错误.

fatal: Not a git repository (or any of the parent directories): .git
Run Code Online (Sandbox Code Playgroud)

我使用的命令有什么问题吗?

小智 7

我最近在Mac上遇到了这个问题,我的解决方案是在git子命令之前放置--git-dir和--work-tree指令.

所以,你的命令看起来像这样:

git --git-dir="C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\CMS\.git" --work-tree="C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\CMS" log --name-status
Run Code Online (Sandbox Code Playgroud)

HTH,它为我做了伎俩.


Von*_*onC 4

由于它是一个钩子脚本,因此它可能会在 bash 会话中使用POSIX 路径,而不是 Windows 路径。

git log --name-status --git-dir='/C/Documents and Settings/user/My Documents/Visual Studio 2008/Projects/CMS/.git' --work-tree='/C/Documents and Settings/user/My Documents/Visual Studio 2008/Projects/CMS'
Run Code Online (Sandbox Code Playgroud)

从 DOS 会话(如“不是钩子”)中,路径可能如下所示:

git log --name-status --git-dir='C:/Documents and Settings/user/My Documents/Visual Studio 2008/Projects/CMS/.git' --work-tree='C:/Documents and Settings/user/My Documents/Visual Studio 2008/Projects/CMS'
Run Code Online (Sandbox Code Playgroud)

替代语法(未测试):"c:\\xxx\\yyy\\..."