Вопрос по git-clean, git, git-rm, git-stage – Другой вариант - отменить оскорбительный коммит

14

о случайно отправил все свои папки bin и obj в наш репозиторий (их около 40). Я хотел бы сделатьgit rm -r на всех этих папках. Есть команда, чтобы сделать это?

Ваш Ответ

3   ответа
-3

git revert.

25

Иметь резервные копии,

 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
5

т,

git reset --hard

Как только эти файлы игнорируются,

git clean -xdf

Я использую это, чтобы очистить перед перестройкой решения. Кажется, vs использует некоторые dll даже после извлечения другой ветки или слияния.

Вам не нужно прибегать к ответвлению фильтра. Интерактивный ребаз сделает. Помните флаг --preserve-merges.

Надеюсь это поможет.

Что приведет к раздутой истории? Я не уверен, что вы имеете в виду sehe
Как часто упоминается,git reset --hard опасный совет sehe
Оставляя большие файлы, такие как dll и exes в истории, используя возврат вместо сброса. Adam Dymitruk
И это было то, что я сказал? Я никогда не упоминал Git Revert sehe
Так раздутая история. Это предполагает, что пользователь знает, что он делает, конечно. Adam Dymitruk

Похожие вопросы