2

Я собираюсь начать с того, что я не очень хорош ни в git, ни в Windows. Тем не менее, я уже некоторое время успешно использую msysgit в Windows 7, отслеживая множество различных репозиториев с помощью графического интерфейса Git.

По какой-то причине, однако, когда я пытаюсь перейти к любому из каталогов, в которых есть мои репозитории, и запустить git status из PowerShell, я получаю следующую ошибку:

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

Я точно не знаю , почему это происходит, как я могу cd в этом каталоге:

C:\Users\wilduck\Model\.git

Тем не менее, я почти уверен, что это как-то связано с тем, что моя переменная окружения% HOME% установлена в C:\Users\wilduck\ . Моя мысль, что это проблема, подтверждается тем фактом, что если я выполняю следующие команды:

mkdir C:\Users\wilduck\stupidtest
cd C:\Users\wilduck\stupidtest
git init

Git-репозиторий инициализируется в C:\Users\wilduck , а не в самом stupidtest подкаталоге.

Итак, моя проблема в том, что, хотя я могу работать в нескольких разных репозиториях с помощью графического интерфейса Git, я не могу получить доступ к этим репозиториям из PowerShell. Я думал о переустановке msysgit, так как я не уверен, какой вариант я выбрал для "Как вы хотите запускать git из командной строки", но я понятия не имею, повлияет ли это на мою способность добраться до моего существующие репозитории. Я также думал об изменении моей переменной среды% HOME% каждый раз, когда я хочу работать в другом репозитории, но это и боль, и винтики с настройками .gitconfig.

Мой основной вопрос может быть легко написан как Как получить git от PowerShell, чтобы распознать мои существующие репозитории? Тем не менее, у меня есть ряд связанных вопросов, которые я хотел бы получить от некоторых объяснений:

  1. Почему это работает с Git GUI, но не с powershell? За кулисами происходит какая-то магия?
  2. Является ли это артефактом работы переменных среды Windows? Или как git обрабатывает домашний каталог?
  3. Я что, в какой-то момент испортил что-то ужасно?

1 ответ1

0

Убедитесь, что $Env:GIT* пустые или удалены. http://git-scm.com/blog/2010/04/11/environment.html объясняет, что каждый из них делает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .