Временно отключите git от просмотра изменений файлов

Контекст:

У нас есть проект Visual Studio, который зависит от пакета nuget (вещь Visual Studio).

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

Проект хранится в git, и мы клонируем проект, чтобы получить локальную копию, чтобы мы могли начать обновление из самой Visual Studio с помощью обновлений nuget.

Коллега пожаловался / заметил, что обновление займет около 30 минут, и он начал с вопроса, почему это так медленно.

После некоторых попыток выяснилось, что при удалении git из корневой папки и, таким образом, отключении всех файлов, обновление прошло на 10 минут быстрее.

Затем мы все сделали то же самое, и, конечно же, это было примерно на 10 минут быстрее.

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

Вопрос:

Есть ли способ временно отключить git от записи изменений во время обновления, а затем включить его после завершения обновления, чтобы он мог повторно оценить файлы, измененные после? Насколько я понимаю, git, вероятно, записывает все незначительные изменения, которые происходят во время загрузки nuget и установки нового пакета в проект.

NB

Я пишу это с неуверенной точки зрения. Хорошо, удаление git делает это быстрее, но, конечно, я не уверен, что на самом деле происходит под капотом... так что вопрос может быть немного спорным с точки зрения git. Но если мы сможем это выяснить, для всей компании это сэкономит так много времени!

1 ответ

Решение

Чтобы Git временно не отслеживал изменения в решении, просто установите для подключаемого модуля управления исходным кодом значение none в Visual Studio через Инструменты> Параметры> Управление исходным кодом> Выбор подключаемого модуля:

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

Как только вы это сделаете, вы увидите, что Team Explorer не отслеживает изменения, поскольку Git не является выбранным в данный момент подключаемым модулем Source Control:

Другие вопросы по тегам