Visual studio git не видит изменения
Когда я впервые добавляю проект в систему управления версиями (GIT), он показывает все файлы, и все будет красиво. Я могу продолжать работать примерно 30 минут-1 час, и все изменения будут видны (любой файл, который я вношу).
Но через некоторое время он показывает, что ни один файл не редактируется, сколько бы изменений я ни внес. Я просто не понимаю . Я посмотрел файл .gitignore и не вижу ни одного из типов файлов, с которыми я работаю, поэтому я не понимаю, что, черт возьми, происходит.
Советы? Гугл ничего не находит. Вот файл .gitignore . У меня та же проблема, что и у этого чувака . и он не получил ответа!
Перезагрузка моей машины устранила это для меня. Перезагрузки Visual Studio было недостаточно, но после перезагрузки всей системы изменения теперь отображаются в Team Explorer.
Я обнаружил, что VS держит открытый файл .opendb, что вызывает конфликт разрешений при поиске изменений. Он сообщил о точном файле, который вызывал проблему, в окне вывода в разделе «Управление исходным кодом - Git». Добавление этого в мой .gitignore устранило проблему. Если перезапуск VS или перезагрузка устраняет проблему, вы, вероятно, закрываете дескриптор файла-нарушителя - в моем случае VS открывал проблемный файл каждый раз.
См. Также Visual Studio TFS Git не видит никаких изменений для получения дополнительной информации. потенциальные причины.
К сожалению, ничего из вышеперечисленного у меня не сработало, но через некоторое время мое решение было следующим:
- Найдите папку .git для вашего репозитория.
- Найдите и удалите файл 'index.lock' внутри.
- Перезапустите Visual Studio.
Я использую Visual Studio 2017, но надеюсь, что это кому-то поможет!
Мой журнал Visual Studio "Source Control - Git" продолжал жаловаться на заблокированный файл из моего проекта SQL. Файл .jfm. Добавил его в .gitignore, а потом все заработало.
Поэтому проверяйте журнал Git, когда ваше решение не показывает никаких изменений, независимо от того, что вы меняете.
Для меня перезагрузка не понадобилась. Простое закрытие и повторное открытие Решения работает. Если этот трюк не сработает, можно перезапустить Visual Studio.
В отличие от Eclipse IDE, Visual Studio не предоставляет пункт меню «Перезагрузка». Для этого мне нужно установить расширение.
Как бы то ни было, мне не пришлось перезагружать VS2015 или мою машину, чтобы изменения появились. Я просто отключился от системы управления версиями, подключился снова, и тогда он увидел изменения.
В моем сценарии я работал над своим локальным проектом и одновременно клонировал проект в другой каталог. Когда я пытался клонировать свой текущий рабочий проект, он каким-то образом подключался к другой папке. Я открыл git bash для своего текущего проекта и увидел, что ветка не связана. Когда я открыл клонированный проект, я увидел связанную ветку. Итак, в VS я открыл клонированное репо и добавил свой проект, я смог увидеть свои изменения в Team Explorer, Changes
Если вы используете Git Extensions, переустановите и перезапустите Visual Studio 2015, это решит мою проблему.
Убедитесь, что ваши файлы не зашифрованы. Я использовал рабочие папки Windows, и новые файлы зашифрованы. Git в VS их не видит.
О мастере филиала
ничего не фиксировать, рабочий каталог чист
И файл, который я использую, был только что изменен.
Если git diff (или git status ) не показывает ничего, что объясняет, почему нечего добавить. Итак, вопрос действительно таков: «Почему git не распознает, что мой файл был изменен?»
У меня была проблема, когда однажды я установил для индекса git значение «считать неизменным» в моем файле.
Вы можете указать git, чтобы он перестал игнорировать изменения в файле:
Если это не поможет, сброса может быть достаточно для других странных случаев.
На практике я обнаружил, что удалил кешированный файл и заставил его работать:
В git rm --cached средстве для только удалить файл из индекса, и reset говорит мерзавец перезагрузить индекс GIT от последней фиксации.
Этот ответ был единственным, который помог решить мою проблему. Не уверен, что это связано с Windows (у меня никогда не было подобных проблем в прошлом, ни в OSX, ни в Linux). Так что спасибо @ThorSummoner. Между прочим, я попробовал git add -f файл, который находился в этом состоянии «предположить неизменным», и он не сработал - нужно было либо, git update-index либо git rm --cached после него, git reset чтобы он заработал.
Кроме того, если вы действительно не уверены в текущем состоянии своего репо, сделайте следующее: git rm --cached -r . а затем git reset . .
Есть еще один вариант, чтобы попробовать, git update-index --no-skip-worktree path/to/file вот как я решил свою проблему
Проверьте свой .gitignore файл . Вы можете обнаружить, что файл или расширение файла, или путь к файлу, с которым вы пытаетесь работать, совпадает с записью .gitignore , что объясняет, почему этот файл игнорируется (и не распознается как измененный файл).
Это случилось со мной, когда у меня была аналогичная проблема.
Я использовал gitignore.io для создания своего .gitignore и нашел строку с lib/ , что заставляет git игнорировать эту папку. С этим нет проблем - по крайней мере, если эта папка не является основной папкой вашего проекта, как то, что случилось со мной.
Сначала это не сработало. Но я заставил его работать. В моем случае вещь, которую нужно игнорировать, дважды упоминалась в файле gitignore. Всегда ищите все вхождения и заменяйте все.
Как уже говорилось, файлы, вероятно, были помечены флажком "предположить-без изменений", который в основном сообщает git, что вы не будете изменять файлы, поэтому ему не нужно отслеживать изменения с их помощью. Однако это может повлиять на несколько файлов, и если это большое рабочее пространство, вы можете не захотеть проверять их все по одному. В этом случае вы можете попробовать: git update-index --really-refresh
По сути, это заставит git отслеживать изменения всех файлов, независимо от флагов «предполагать без изменений».
Для меня git status говорит, что файлы не меняются, но git add . добавляет два файла и git update-index --really-refresh говорит, что эти два нуждаются в обновлении, но, похоже, ничего не делает. Любая идея?
Звучит безумно, но иногда вы не в правильном репо, даже если думаете, что это так. Например, вы могли переместить родительский каталог, но забыли переключить репозиторий в текстовом редакторе. Или наоборот: вы находитесь в правильном репозитории в текстовом редакторе, но не в том репозитории в командной строке. В первой ситуации вы вносите изменения в правильный файл, но это не та папка, которая открыта в вашей командной строке, поэтому на самом деле это не тот файл. Во второй ситуации вы действительно отредактировали правильный файл, но git вашей командной строки не распознает изменение, потому что вы находитесь не в правильном каталоге в командной строке.
2) у вас были изменения и вы их зафиксировали, вы должны увидеть свою фиксацию в git log
3) у вас были какие-то git reset --hard изменения, ваши изменения могут быть там в журнале ссылок, введите, git reflog --all а затем проверьте или выберите ссылку, если вы когда-нибудь ее найдете.
4) вы проверяли одно и то же репо несколько раз и ошиблись.
1) тайник не найден 2) Я внес изменения и зафиксировал, могу ли я сделать коммит еще раз? 3) Я этого не делал 4) Я
если у вас были изменения и вы их зафиксировали, тогда вы можете перейти к следующему шагу, нажать или что бы там ни было . Вы можете зафиксировать еще раз, если у вас есть больше изменений, вы даже можете, git commit --amend что поместит ваши новые изменения в вашу последнюю фиксацию , не делайте этого, если вы уже поделились своим коммитом.
Произошла такая странная вещь. Плагин Eclipse Kepler git автоматически отмечал все мои папки проекта как игнорируемые в папке .gitignore.
Когда я заходил commit в Team меню, все они снова игнорировались. Насколько я могу судить, это произошло потому, что я установил их как производные в родительском проекте. Снятие отметки с них как dervied исправлено. Я никогда раньше не видел этого на Индиго. Надеюсь, это кому-то поможет.
TL; DR; Вы вообще находитесь в правильном репозитории?
Моя история немного забавна, но я подумал, что это может случиться с кем-то, у кого может быть похожий сценарий, поэтому поделитесь ею здесь.
На самом деле на моей машине, у меня было два отдельных GIT репозиториев repo1 и repo2 настроен в том же корневом каталоге с именем source . Эти два репозитория по сути являются репозиториями двух продуктов, над которыми я работаю в своей компании. Дело в том, что, как правило, структура каталогов исходного кода всех продуктов в моей компании одинакова.
О мастере филиала
ничего не фиксировать, рабочий каталог чист
в течение получаса. Затем мой коллега заметил это как независимую пару глаз и обратил на это мое внимание, что я был в неправильном, но очень похожем хранилище. В тот момент, когда я переключился на repo1 Git, я начал замечать измененные файлы.
Вы выполняли фактическую установку Git для Windows или использовали Portable Git? Является ли git в вашей PATH ?
@EdwardThomson Я не думаю, что на самом деле установил Git для Windows, и это как раз моя проблема. У меня не было git в PATH. У меня есть различные git: клиент GiHub, SourceTree, плагин Eclipse, даже cygwin. Я добавил путь cygwin в PATH просто из любопытства, и VS Code его нашел! Спасибо за подсказку! Вероятно, установка Git для Windows по-прежнему является правильным решением. (Теперь мне нужно выяснить, как правильно настроить рабочее пространство, чтобы VS Code не жаловался: «Это рабочее пространство еще не находится под контролем источника git», но это будет другой вопрос.)
Я видел ту же ошибку, о которой говорилось в предыдущем комментарии («Эта рабочая область еще не находится в системе контроля версий git») как для существующего каталога репозитория git, так и для нового каталога, созданного VS Code. После того, как я установил «настоящий» Git для Windows, проблема исчезла. Надеюсь, этот опыт будет полезен другим новым пользователям VS Code.
У меня есть эта проблема, ТОЛЬКО при запуске VS Code "от имени администратора", git.path она не отменяется в моем обычном пользовательском (не админском) коде VS, но, похоже, там git отлично. Переопределение git.path в режиме администратора (а затем перезапуск VS Code), похоже, не помогло. Моя ошибка: Git not found. Install it or configure it using the git.path setting.
Код Visual Studio просто ищет в вашем PATH файле git . Многие клиенты пользовательского интерфейса поставляются с «Portable Git» для простоты и не добавляют git в путь.
Если вы добавите существующий клиент git в свой PATH (чтобы он мог найти git.exe ), код Visual Studio должен включить управление исходным кодом Git.
Если вы обновите свой git-путь в своих пользовательских настройках в коде Visual Studio от null до "F:\\Program Files\\Git\\mingw64\\libexec\\git-core\\git.exe" (или что-то подобное), вам просто нужно перезапустить VSCode, и git откроется успешно. Единственное мое дополнение: если вы не используете git.exe в каталоге, mingw64\libexec\git-core\git.exe VSCode откроется с различными ошибками и терминалами bash.
(более чем через 2 года) в моем случае все наоборот (VS Code версии 1.14.2), и мне очень любопытно. У меня нет git, PATH но есть GitHub для Windows и Source Tree. У каждого из них есть собственная версия git.exe, поставляемая с основной программой. Я не знаю, как VS Code знал, какой git выбрать, например, теперь git по умолчанию, который он будет использовать, git 2.11.0.windows.3 взят из GitHub, который находится где-то в %APPDATA% (?). Кроме того, settings.jsons здесь есть возможность указать местоположение git.exe, но я не могу перейти на другой путь git, используемый деревом источников (только для целей тестирования)
@Eric, но хорошо, git.path выполнил свою работу: "git.path": "d: \\ Program Files \\ Git \\ bin \\ git.exe" ;-)
Это сработало для меня, хотя мне пришлось перезагрузить компьютер (Windows 10), что, как я думал, мне не нужно. В любом случае, все работает.
Теперь вы можете настроить Visual Studio Code (версия 0.10.2, проверьте наличие более старых версий) для использования существующей установки git.
Просто добавьте путь к исполняемому файлу git в настройках кода Visual Studio (Файл -> Настройки -> Настройки) следующим образом:
Убедитесь, что вы установили версию git, которая понимает пути Windows. Например, репозиторий pacman от MSYS2 не работает.
Обновление 2020 (Mac)
Прошел через это $h!† снова после обновления до Каталины, которое требует XCode обновления.
И чтобы уточнить, хотя этот пост посвящен VS Code , эта проблема является общесистемной . Ваша git установка затронута / заблокирована. Вы можете попробовать запустить git свой терминал / bash / zsh или что-то еще, но этого не произойдет.
То же исправление, просто обновите XCode , запустите и согласитесь с лицензией. Вот и все.
Старый пост, но просто нажмите на него, MAC/OSX надеюсь, это кому-то поможет.
Симптомы:
- Вы используете VS Code уже некоторое время и у вас нет проблем с Git
- Вы устанавливаете XCode ( по какой-то причине - обновление ОС и т. Д.)
- После установки XCode , VS Code вдруг «не может найти Git и просит вас либо установить или установить путь в настройках»
Быстрая починка:
Запускаем XCode (в первый раз, после установки) и соглашаемся с лицензией . Вот и все.
Как я наткнулся на это "исправление":
Согласие с лицензией Xcode / iOS требует прав администратора, запустите «sudo xcodebuild -license» и затем повторите эту команду.
Что касается того, зачем XCode вообще оборачивать его руки git , WAT
Счастливых праздников и счастливого кодирования :)
В коде Visual Studio откройте "пользовательские настройки": ctrl + p и введите >sett пресс enter
Это откроет настройки по умолчанию слева и настройки пользователя справа.
Просто добавьте путь к git.exe в настройках пользователя
Замените [WINDOWS_USER] своим именем пользователя.
Перезапустить код Visual Studio
xcrun: ошибка: неверный активный путь разработчика (/ Library / Developer / CommandLineTools) .
Если это так, исправление должно выполняться
с терминала. см. этот ответ для получения более подробной информации
Сначала проверьте, установлен ли Git * в вашей системе
набрав команду в cmd / командной строке (в Windows)
если вы получите такой результат
Затем перейдите к Settings > Preferences > Settings и введите следующий код ** правую часть.
** Просто добавьте двойную косую черту ( \\ ), как в приведенном выше коде.
Файл> Настройки> Настройки> Пользовательские настройки> Расширения> Git> Путь> Изменить в settings.json ( если отображаемый путь
У меня возникла эта проблема после обновления до macOS Catalina.
Проблема решается следующим образом:
1. Найдите местоположение git в терминале:
2. Добавьте местоположение git в файл настроек с вашим местоположением:
settings.json
В зависимости от вашей платформы файл пользовательских настроек (settings.json) находится здесь:
Windows %APPDATA%\Code\User\settings.json
Macos $HOME/Library/Application Support/Code/User/settings.json
Linux $HOME/.config/Code/User/settings.json
Я столкнулся с этой проблемой MacOS High Sierra 10.13.5 после обновления Xcode .
Согласие с лицензией Xcode / iOS требует прав администратора, запустите «sudo xcodebuild -license» и затем повторите эту команду.
Вы не согласились с лицензионными соглашениями Xcode. Вы должны согласиться с обоими лицензионными соглашениями, приведенными ниже, чтобы использовать Xcode.
Нажмите клавишу Enter, чтобы просмотреть лицензионные соглашения по адресу /Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf.
Набирая «согласен», вы соглашаетесь с условиями лицензионных соглашений на программное обеспечение. Введите «печать», чтобы распечатать их, или что-нибудь еще, чтобы отменить, [согласиться, распечатать, отменить]
Последний шаг - просто ввести agree лицензионное соглашение, чтобы подписать его.
После ввода git команды мы можем проверить, что VSCode снова обнаружил git.
После обновления OSX мне пришлось запустить xcode-select --install gitlens для работы
Это сработало для меня в OS X 10.14 (Mojave). Я уже установил xcode из магазина приложений, но никогда не устанавливал инструменты командной строки.
Если у вас несколько сред. Вы можете включить Git Path в настройку рабочего пространства VS Code . Для Windows, в зависимости от ваших настроек, вы можете нажать Ctrl + P, найти «настройки». Откройте файл setting.json (или Файл> Настройки> Настройки). Перейдите в Настройки рабочего пространства . Найдите «Путь» и добавьте пути к папкам Git bin и cmd.
Среды могут иметь свои собственные пути. Я обнаружил это, когда повторил свой PC% PATH% в cmd, git bin и cmd path, где это возможно, но когда я работал над своим проектом, повторил% PATH% не имел папки git и cmd. Добавление их, как показано выше, решило проблему.
В cmd вы можете повторить "% PATH%" и посмотреть, включены ли папки git bin и cmd. Если нет, вы можете объединить с помощью SETX PATH on, e, g
Это сделает git доступным в локальном корне, но не в некоторых средах, которые идут с их собственными путями (хотя SETX / M PATH "% PATH%; Path_to_Git_bin; Path_to_Gt_cmd;", однако).
- В «Поиске в Windows» найдите «regedit». Щелкните правой кнопкой мыши, чтобы открыть как администратор.
- Перейдите в Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem
- Щелкните правой кнопкой мыши и измените. Изменить значение данных с 0 на 1
Это увеличит длину вашего пути. Если он уже один, то я не знаю, как оттуда действовать :).
Я клонировал решение коллеги в Git на TFS и начал добавлять код. Затем я понял, что мне нужна собственная ветка для внесенных мной изменений, и поэтому, следуя инструкциям в , отправьте новую локальную ветку на удаленный Репозиторий Git и отслеживание тоже Я запустил
Когда я вношу изменения в свой код, Visual Studio показывает знакомый значок красной галочки рядом с файлом кода, чтобы убедить меня, что это изменение привело к извлечению файла:
Но когда я смотрю на историю измененного файла, его нет!
Я хочу зафиксировать свои изменения локально и синхронизировать их с сервером TFS.
Visual Studio вообще не видит никаких изменений:
Из командной строки я вижу, что Git заметил все мои модификации, выполнив команду
И видеть множество изменений, не предусмотренных для файлов фиксации и неотслеживаемых файлов.
Или более конкретно
Подготовить файлы для фиксации, но я не хочу делать это, поскольку Develop ваше приложение в репозитории Git (отслеживание, фиксация) В документации Visual Studio указано:
В: Где находится этап Git?
О: Если вы опытный пользователь Git, вы могли заметить, что Visual Studio обрабатывает изменения иначе, чем командная строка. Вы могли задаться вопросом, содержит ли раздел "Включенные изменения" ваши постановочные изменения. Фактически, Visual Studio обычно обходит Git сцена для вас. Когда вы фиксируете изменения, Visual Studio одновременно этапы и совершает их. Единственное исключение возникает, когда вы добавляете файл в репозиторий Git; Visual Studio проводит такие изменение.
Visual Studio одновременно обрабатывает и фиксирует изменения. Но почему он не перечисляет какие-либо модификации, которые я внес в отслеживаемые файлы, как изменения, что позволяет мне их зафиксировать?
Это скорее обходной путь, чем объяснение, но я обнаружил, что если проигнорировать документацию «когда вы фиксируете изменения, Visual Studio одновременно обрабатывает и фиксирует их», а вместо этого добавила изменения в постановку с помощью команды
Затем Visual Studio внезапно узнала об изменениях и позволила мне зафиксировать их локально и синхронизировать с сервером TFS. Более того, затем он поместил зеленый крест «новый файл» на файлы, которые я добавил, и я обнаружил, что могу сделать еще одну фиксацию, а затем еще одну синхронизацию, чтобы подобрать сделанные мной добавления и удаления.
С тех пор Visual Studio делает то, что я ожидал: когда я вношу изменения в файл, файл отображается как измененный в окне фиксации.
Я до сих пор не знаю, почему Visual Studio не удалось уловить изменения до момента первоначального git add , но, по крайней мере, это работает сейчас.
В моем случае моя проблема заключалась в том, что я использую Linux с символическими ссылками на пути к моему проекту (не могу сказать, есть ли у окон с символическими ссылками такая же проблема)
Откройте «Просмотр»> «Вывод», выберите «Source Control - Git» в «Показать вывод из» и проверьте наличие ошибок. Как уже упоминалось, любая ошибка в Git заставляет MS Project игнорировать любые изменения.
Полезная статья! Использование Git Bash (git add -u) помогло мне приблизиться к причине проблемы. После фиксации изменений, ранее не показанных в Visual Studio, была выполнена только половинная фиксация из-за использования проекта базы данных SQL Server; Судя по всему, Windows 10 начала добавлять jfm-файлы в одну и ту же папку, сохраняя ее все время открытой и предотвращая доступ к ней со стороны VS. Решением было добавить его в .gitignore перед фиксацией.
Смотрите эту ветку для получения дополнительной информации:
Затем я пытался внести изменения, но файлы не меняются . Для этого есть простое решение. Основная проблема заключается в том, что один из ваших файлов игнорирования git игнорирует ваши файлы.
Откройте свое локальное репо, например репозиторий D: //, затем посмотрите нужный файл.
-> Щелкните его правой кнопкой мыши и выберите Git Extensions
-> Выбрать + Добавить файлы
-> затем параметр Force
-> Нажмите Addfiles..Здесь вы идете, файл будет добавлен в изменения
У меня была такая же проблема с Visual Studio Update 3. VS сохранял локально, но не собирал никаких изменений, поэтому я не мог зафиксировать.
Затем я запустил GET ADD -U и получил следующую ошибку .
ошибка: открыть ("WindowsServices \ Scheduler.WindowServices.InstallLog"): Отказано в разрешении
ошибка: невозможно проиндексировать файл WindowsServices \ Scheduler.WindowServices.InstallLog
фатальный: не удалось обновить файлы
Как уже говорили другие, похоже, что инструменты GIT в Visual Studio могут автоматически выходить из строя даже при самых простых ошибках уровня Windows. Хуже того, он может сказать вам, что GIT полностью синхронизирован. Командная строка, безусловно, на данный момент вам друг.
Я использую VS 2015 Update 1 и тоже сталкиваюсь с этой проблемой. Кроме того, в то же время окно вывода VS сообщило мне, что мой файл VC.opendb в папке решения занят другой программой. Согласно this, я исправил проблему с занятием: добавить *.VC.opendb и *.VC.db в файл .gitignore . Тогда все идет хорошо.
У меня была такая же проблема, и я понял следующее: чтобы показать набор изменений, как сказал @dumbledad, Visual Studio запускает команду
Внутренне для размещения обновлений. Если некоторые из файлов, которые вы пытаетесь добавить в свой набор изменений, открыты другим процессом, то команда git получает ошибку разрешения. И Visual Studio не покажет изменений.
В моем случае в моем репозитории был документ, открытый другим приложением, из-за чего Visual Studio не показывала изменения из-за ошибки разрешения Git. Поэтому проверьте, не открыт ли какой-либо из файлов вашего репозитория git другим приложением.
Удалить файл myProject\.git\index.lock исправил это в моем случае.
По-видимому, VS2015 терпит крах на каком-то очень долгом пути и просто решил отказаться от всякой надежды.
Когда я вношу изменения в свой код, визуальная студия показывает знакомый значок красного тика в файле кода, чтобы заверить меня, что изменение вызвало файл, который нужно проверить:
И затем, когда я сохраняю файл, Visual Studio возвращает значок синему замку. Я предполагаю, что это изменение от красного до синего замка означает, что изменение было проверено локально в Git:
Но когда я смотрю историю измененного файла, его нет!
Я хотел бы локально выполнить локальные изменения и синхронизировать их с сервером TFS.
Visual Studio вообще не видит изменений:
Из командной строки я вижу, что Git заметил все мои изменения, выполнив команду
и просмотр большого количества изменений, не поставленных для файлов фиксации и без следа.
Наслаждайтесь Git book Я мог бы использовать
или более конкретно
чтобы скомпилировать файлы, готовые к фиксации, но я неохотно это делаю как Разработайте свое приложение в репозитории Git (track, commit) Документация Visual Studio гласит:
Q: Где этап Git?
A: Если вы опытный пользователь Git, вы могли заметить, что Visual Studio обрабатывает изменения, отличные от командной строки. Возможно, вы задались вопросом, содержит ли раздел Включенные изменения ваши поэтапные изменения. Фактически, Visual Studio обычно обходит Gitдля вас. Когда вы совершаете изменения, Visual Studio одновременно этапов и совершает их. Единственное исключение возникает, когда вы добавляете файл в репозиторий Git; Visual Studio делает такой вид изменение.
Студии Visual Studio и одновременно фиксируют изменения. Но почему это не перечисление каких-либо изменений, которые я сделал для отслеживаемых файлов, как изменений, и, таким образом, позволить мне их совершить?
ОТВЕТЫ
Ответ 1
Это скорее обходное решение, чем объяснение, но я обнаружил, что если я проигнорировал документацию ", когда вы совершаете изменения, Visual Studio одновременно этапы и совершает их", и вместо этого добавили изменения в этап с помощью команды
тогда Visual Studio внезапно узнала об изменениях и позвольте мне зафиксировать их локально и синхронизировать их с сервером TFS. Кроме того, он добавил зеленый крестик "новые файлы" в файлы, которые я добавил, и я обнаружил, что могу сделать еще одну фиксацию, а затем еще одну синхронизацию, чтобы подхватить дополнения и удаления, которые я сделал.
С тех пор Visual Studio делает то, что я ожидаю: когда я вношу изменения в файл, файл указан как измененный в окне фиксации.
Я до сих пор не знаю, почему Visual Studio не удалось получить изменения до тех пор, пока не будет начат git add , но по крайней мере он работает сейчас.
Ответ 2
Видимо VS2015 рушился на очень длинном пути туда и просто решил отказаться от надежды
Ответ 3
У меня был тот же самый проб и я понял следующее: Чтобы показать набор изменений, как сказал @dumbledad, Visual Studio запускает команду
внутренне для размещения обновлений. Если некоторые файлы, которые вы пытаетесь добавить в свой набор изменений, открыты другим процессом, тогда команда git получает ошибку разрешения. И Visual Studio не покажет изменения.
В моем случае у меня был документ в моем репо, открытый другим приложением, и это заставило Visual Studio не показывать изменения из-за ошибки разрешения git. Поэтому проверьте, не открыт ли какой-либо из файлов вашего репозитория git каким-либо другим приложением.
Ответ 4
удалить файл myProject\.git\index.lock исправил его в моем случае.
Ответ 5
Я использую VS 2015 Update 1, а также встречаю эту проблему. Кроме того, в то же время окно вывода VS показало, что мой файл VC.opendb в папке решения занят другой программой. В соответствии с этим я исправил проблему окклюзии: добавьте *.VC.opendb и *.VC.db в файл .gitignore . Тогда все идет хорошо.
Ответ 6
У меня была такая же проблема с Visual Studio Update 3. VS сохранялся локально, но не собирал никаких изменений, поэтому я не мог выполнить.
Затем я запустил GET ADD -U и получил следующую ошибку.
error: open ( "WindowsServices\Scheduler.WindowServices.InstallLog" ): Разрешение отклонено
ошибка: невозможно индексировать файл WindowsServices\Scheduler.WindowServices.InstallLog
fatal: не удалось обновить файлы
Как говорили другие, похоже, что инструменты Git в Visual Studio могут терпеть неудачу, даже для самых простых ошибок уровня Windows. Хуже того, он может сказать, что Git полностью синхронизирован. Командная строка, безусловно, является вашим другом на данный момент.
Ответ 7
Ответ 8
Затем я пытался внести изменения, но файлы не получили. Для этого есть простое решение. Основной проблемой является один из ваших файлов git ignore, игнорирующих ваши файлы.
Откройте локальное репо, например, D://repos, затем посмотрите файл, который вы хотите
- > Щелкните правой кнопкой мыши по нему и нажмите git Extentions
- > Выбрать + Добавить файлы
- > затем параметр Force
- > Нажмите на Addfiles.. Вот вам файл будет добавлен в изменения
Ответ 9
Полезная статья! Использование Git Bash (git add -u) помогло мне приблизиться к причине проблемы. После принятия изменений, ранее не показанных в Visual Studio, из-за использования проекта базы данных SQL Server была сделана только промежуточная фиксация; По-видимому, Windows 10 начала добавлять jfm файлы в одну и ту же папку, постоянно открывая ее и предотвращая доступ к ней VS. Решением было добавить его в .gitignore перед фиксацией.
Смотрите эту тему для получения дополнительной информации:
Ответ 10
Откройте View> Output, выберите "Source Control - Git" в "Show Output from" и проверьте наличие ошибок. Как уже упоминалось, любая ошибка в Git заставляет MS Project молча игнорировать любые изменения.
Читайте также: