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