Visual Studio продолжает проверять файлы, связанные с LFS, при клонировании нового репозитория Git-LFS. - PullRequest
0 голосов
/ 06 ноября 2019

Примерно через 2 недели мой git LFS не работает правильно с Visual Studio. Всякий раз, когда я клонирую репозиторий, содержащий файлы LFS, и открываю его в Visual Studio, он говорит, что некоторые файлы «изменены»:

Visual Studio wrong files changed

Если я этого не сделаюоткройте Visual Studio и работайте исключительно с командной строкой git. Нет проблем.

Другие мои компьютеры также отлично работают и позволяют Visual Studio просто проверять файлы в репозитории Git LFS.

Что я уже пробовал:

  1. Переустановите Git + Git-LFS
  2. Используйте установщик Visual Studio для установки Git для Windows + расширение Github
  3. Полностьюудалите проект и клонируйте чистый экземпляр, используя git clone ...

Edit 1

Во время более подробного исследования я обнаружил, что эта проблема возникает только дляодна конкретная папка. Если я клонирую репозиторий DS-MLUnity внутри C:\XGitML\DS-MLUnity, Visual Studio создаст эти файлы ловушек, как только я запусту его. Однако, когда я клонирую репо в другом каталоге, этого не происходит. # confused

Edit 2

Очевидно, что это также не было проблемой, потому что теперь он также создает файлы ловушек, когда я клонирую его в другой каталог.

Edit 3

Мне удалось заставить его работать в другом каталоге один раз, но теперь я просто не могу воспроизвести его работающим. Каждый раз, когда я открываю каталог Git-LFS внутри Visual Studio 2019 (или даже 2017), создаются файлы ловушек.

1 Ответ

0 голосов
/ 07 ноября 2019

Похоже, что существует проблема с тем, где каталог Git определяется как находящийся. Git LFS запросит Git с помощью git rev-parse --git-dir, чтобы найти каталог Git.

Сначала я попытаюсь воспроизвести проблему в командной строке (Git Bash) без Visual Studio. Если вы можете воспроизвести это там, вы захотите посмотреть на вывод git lfs env. Это покажет вам несколько строк, включая LocalGitDir и LocalGitStorageDir. Если вы не в рабочем дереве, они должны быть одинаковыми, и они должны указывать на каталог .git. LocalMediaDir должен указывать на каталог .git/lfs/objects в вашем рабочем дереве.

Если по какой-то причине они не выглядят вменяемыми и вы уверены, что у вас не установлены какие-либо нечетные переменные окружения (git lfs env покажет вам также все переменные среды Git), затем перейдите к Git LFS tracker и сообщите о проблеме, включая вывод git lfs env, ваши шаги воспроизведения и соответствующую ОСинформация в вашем отчете.

...