Я внезапно столкнулся со странной проблемой, когда мой git-bash, похоже, перестал работать. До вчерашнего дня он работал нормально, а сегодня внезапно я попытался выполнить слияние, попытался выполнить git mergetool
, и это дало мне ошибку git-mergetool cannot be used without a working tree
. После поиска в Google я проверил свое рабочее дерево, выполнив git worktree list
, и получил ответ:
c:\iris-i\client-repo>git worktree list
c:/iris-i/client-repo 8323fb1d8 [js/ui/timestampFormatting]
Я также заметил, что внезапно имена веток больше не появляются, даже когда я был в репозитории git, поэтому я решил попробовать переустановить его, и после его установки я получаю то же сообщение, что и выше, когда я использую git-CMD, но я больше нельзя использовать git в git bash. Когда я пытаюсь запустить git
или git --version
, я больше не получаю никакого вывода на консоль, кажется, по какой-то причине в поток передается только вывод ошибки, потому что если я сделаю что-то вроде git asdf
, я получаю ответ:
Если я попытаюсь запустить git mergetool
с помощью git-bash, я получу ошибку /git-sh-i18n: No such file or directory
У меня также был установлен tortoise git, поэтому я попытался использовать его, но он тоже не работает, если я попытаюсь использовать одну из команд, он выдаст мне ошибку: git.exe not correctly set up () Check TortoiseGit settings and consult help file for "Git.exe Path"
, за которой следует ошибка You have an old unsupported version of Git installed. You should consider an upgrade to 1.9.5+.
(хотя версия, которую я установил, - 2.17.1) . И если я попытаюсь выполнить проверку пути git exe в настройках, я получу эту ошибку:
Я попытался удалить все программы git и установить только git для Windows с последней версией, но у меня все еще есть та же проблема. Я попытался удалить свой .gitconfig, но, похоже, это не имеет никакого значения. Я ищу совета о том, как решить проблему, поскольку повторная установка, похоже, не помогает, и сейчас моя единственная другая идея - переформатировать, чего я, очевидно, хотел бы избежать ...
Редактировать: Вывод пути в git CMD:
Path=C:\Program Files\Git\cmd;C:\Program Files (x86)\Common Files\Oracle\Java\ja
vapath;C:\ProgramData\Oracle\Java\javapath;C:\orant\bin;C:\windows\system32;C:\w
indows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\P
rogram Files\IBM\Infoprint Select;C:\Program Files (x86)\IBM\Personal Communicat
ions\;C:\Program Files (x86)\IBM\Trace Facility\;C:\Users\ADMIN.dnx\bin;C:\
Program Files\Microsoft DNX\Dnvm\;c:\notes;C:\Program Files\Microsoft Windows Pe
rformance Toolkit\;C:\Program Files (x86)\Meld;C:\Program Files\IBM\WebSphere MQ
\bin64;C:\Program Files\IBM\WebSphere MQ\bin;C:\Program Files\IBM\WebSphere MQ\t
ools\c\samples\bin;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\KDiff3;C
:\Program Files\IDM Computer Solutions\UltraEdit;C:\Program Files\nodejs\;C:\Pyt
hon27;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\Wirel
essCommon\;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\Git\cmd;C:\Us
ers\ADMIN\AppData\Roaming\npm;C:\Program Files\Microsoft VS Code\bin;C:\Prog
ram Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:
\Users\ADMIN\AppData\Local\Box\Box Edit\
Вывод пути в git bash:
PATH=/c/Users/ADMIN/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/ADMIN/bin:/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/c/ProgramData/Oracle/Java/javapath:/c/orant/bin:/c/windows/system32:/c/windows:/c/windows/System32/Wbem:/c/windows/System32/WindowsPowerShell/v1.0:/c/Program Files/IBM/Infoprint Select:/c/Program Files (x86)/IBM/Personal Communications:/c/Program Files (x86)/IBM/Trace Facility:/c/Users/ADMIN/.dnx/bin:/c/Program Files/Microsoft DNX/Dnvm:/c/notes:/c/Program Files/Microsoft Windows Performance Toolkit:/c/Program Files (x86)/Meld:/c/Program Files/IBM/WebSphere MQ/bin64:/c/Program Files/IBM/WebSphere MQ/bin:/c/Program Files/IBM/WebSphere MQ/tools/c/samples/bin:/c/Program Files (x86)/Skype/Phone:/c/Program Files/KDiff3:/c/Program Files/IDM Computer Solutions/UltraEdit:/c/Program Files/nodejs:/c/Python27:/c/Program Files/Intel/WiFi/bin:/c/Program Files/Common Files/Intel/WirelessCommon:/c/Program Files/Microsoft VS Code/bin:/cmd:/c/Users/ADMIN/AppData/Roaming/npm:/c/Program Files/Microsoft VS Code/bin:/c/Program Files/Intel/WiFi/bin:/c/Program Files/Common Files/Intel/WirelessCommon:/c/Users/ADMIN/AppData/Local/Box/Box Edit:/usr/bin/vendor_perl:/usr/bin/core_perl
Вы пробовали сбросить списки контроля доступа NTFS? Как выглядит ваш% PATH%?
git --version
не дает мне вывода, когда я запускаю его в git bash, я обновил изображение выше. git --version
дает git version 2.17.1.windows.2
, когда я запускаю его в git CMD
У вас есть .bashrc или другой файл "инициализации" bash в вашем домашнем каталоге? Читается ли ваш% HOME% в git bash?
Я посмотрел настройки безопасности папки, в которой я работаю, и папки git установлен, и не увидел ничего странного. Я обновил вопрос с выводом моего пути в git CMD и git bash. У меня нет файла .bashrc в моем домашнем каталоге, только .bash_history, который включает последние команды, которые я запускал в git bash, поэтому я предполагаю, что у него есть доступ к моему домашнему каталогу
Для справки, проблема "волшебным образом исчезла сама собой" через пару дней ... кажется, это проблема с оборудованием? На следующий день я также заметил, что мой компьютер работает довольно медленно, и провел на нем некоторую диагностику. После запуска диагностики, хотя она не обнаружила никаких проблем, мой компьютер работал быстрее (у моего компьютера также разрядился аккумулятор и произошел сбой накануне, так что, как мне кажется, это как-то связано с этим?), И я попробовал git снова, и он работал нормально ... Я понятия не имею, почему проблема с оборудованием могла так повлиять на git.
Что выводит
git --version
?