Вопрос по git-clean, git, git-rm, git-stage – Другой вариант - отменить оскорбительный коммит
3
ответа
Иметь резервные копии,
find . -type d -name bin -exec git rm -r {} \;
find . -type d -name obj -exec git rm -r {} \;
ОбновитьС помощью bash вы можете установить купленную globstar и быть счастливым:
shopt -s globstar
git rm -r **/{obj,bin}/
Наконец, если вам нужно удалить их из истории хранилища, посмотрите наgit filter-branch
и прочитайте раздел«Удаление объектов» изPro Git Book
Вау! Через 4 года вы все равно можете мгновенно отвечать на вопросы!
7stud
+1 за показ 2-звездочкиglobstar что было новым для меня!
Daniel Böhmer
Не правда. Если в него включены другие файлы, содержащие правильные изменения, отметьте фиксацию для редактирования. Разархивируйте файлы папки obj / bin и перебазируйте --continue. Задача решена. Я не могу поверить, что этот ответ получил галочку. Такой сбой для того, чтобы не использовать Git и прибегнуть к «поиску».
Adam Dymitruk
Добавлена ссылка на фильтр-ветку и книгу про git, опция bash globstar
sehe
-1 за то, что не использовал git clean. Это было предназначено для этих ситуаций.
Adam Dymitruk
т,
git reset --hard
Как только эти файлы игнорируются,
git clean -xdf
Я использую это, чтобы очистить перед перестройкой решения. Кажется, vs использует некоторые dll даже после извлечения другой ветки или слияния.
Вам не нужно прибегать к ответвлению фильтра. Интерактивный ребаз сделает. Помните флаг --preserve-merges.
Надеюсь это поможет.
Что приведет к раздутой истории? Я не уверен, что вы имеете в виду
sehe
Как часто упоминается,
git reset --hard
опасный совет
sehe
Оставляя большие файлы, такие как dll и exes в истории, используя возврат вместо сброса.
Adam Dymitruk
И это было то, что я сказал? Я никогда не упоминал Git Revert
sehe
Так раздутая история. Это предполагает, что пользователь знает, что он делает, конечно.
Adam Dymitruk