Подтвердить что ты не робот

.gitignore и проект Visual Studio: Игнорировать каталог bin/Debug, но не каталог bin/Release

У меня есть проект Visual Studio С# в репозитории git. Я хочу игнорировать содержимое каталога bin/Debug, но не содержимое каталога bin/Release ". Я добавил bin/Debug в мой .gitignore файл, но он не работает - он включает в себя все содержимое каталога bin. Каким будет правильная запись?

4b9b3361

Ответ 1

Я исправил это, заменив bin/Debug на Debug.

Это также повлияет на игнорирование каталога obj/Debug, однако я хочу игнорировать все содержимое каталога obj, поэтому я также добавил obj в .gitignore.

Ответ 2

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

/build/
*.suo
*.user
_ReSharper.*/
*.sdf
bin/
obj/
Debug/
Release/
*.opensdf
*.tlog
*.log
TestResult.xml
*.VisualState.xml
Version.cs
Version.h
Version.cpp

UPDATE

Вот довольно подробный пример из github:

Ответ 3

Это обычно происходит, потому что после того, как файлы были установлены, был добавлен .gitignore. .gitignore сообщает git игнорировать несохраненные файлы, которые совпадают, как только материал будет зафиксирован, игнорирование больше не будет работать. Один из способов исправить это - удалить папку bin/debug (вручную через explorer/powershell/bash), а затем выполнить удаление. Как только это будет сделано, игнорирование должно работать так, как вы ожидаете.

  • Удалить файлы/папку
  • git add -A
  • git commit

Ответ 4

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

git rm -r . --cached

Ответ 5

Я знаю, что это старый вопрос, но я решил поделиться своим подходом, который исключает именно bin/Debug, bin/Release и т.д.

*/**/bin/Debug
*/**/bin/Release
*/**/obj/Debug
*/**/obj/Release

Ответ 6

Для меня работала следующая команда (спасибо "orourkedd" ):

git rm -r . --cached

Я вручную добавил файл .gitignore, но он не был учтен до тех пор, пока я не запустил эту команду.

Затем мне пришлось совершить снова и все хорошо, чтобы идти сейчас. Папки /bin и /obj теперь правильно исключены.

Ответ 7

Это работает для меня:

*.exe
*.pdb
*.manifest
*.cache

Если вы используете GitHub Desktop, когда я его использую, вы можете просто щелкнуть правой кнопкой мыши файл, который вы хотите исключить, или щелкнуть правой кнопкой мыши по нему и исключить по расширению:

введите описание изображения здесь

Это автоматически сгенерирует файл .gitignore для вас с помощью кода, описанного выше. Вы можете скачать GitHub Desktop здесь: GitHub Desktop для Windows 64-бит.

Ответ 8

Это может быть немного не по теме, но всякий раз, когда я начинаю создавать новый проект, я обычно использую GitIgnore.IO для создания моего первоначального gitignore файл, а затем я tweek его оттуда в соответствии с моими потребностями.