git - git-dir не работает в Windows - PullRequest
       7

git - git-dir не работает в Windows

4 голосов
/ 02 декабря 2010

В скрипте перехвата для 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"

при запуске этой команды я получаю следующую ошибку.

fatal: Not a git repository (or any of the parent directories): .git

Что-то не так в используемой мной команде?

Ответы [ 2 ]

7 голосов
/ 08 февраля 2011

У меня недавно была эта проблема на Mac, решение для меня было поставить директивы --git-dir и --work-tree перед подкомандой git.

Итак, ваша команда будет выглядеть так:

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

HTH, это помогло мне.

2 голосов
/ 02 декабря 2010

Поскольку это подключаемый скрипт , он, вероятно, будет использовать пути POSIX в сеансе bash, а не пути 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'

Из сеанса 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'

Альтернативный синтаксис (не тестировался): "c:\\xxx\\yyy\\..."

...