2013-07-24 2 views
0

У меня есть проект рельсы, и я сделал следующие шаги:Git не удаляет файлы, созданные после фиксации я вернулся к

  1. git commit -m "Format gemfile" и git push, чтобы убедиться, что все чисто. Идентификатор этой фиксации является b24d101

  2. git checkout -b newbranch

  3. В то время как на новой ветке я удалил файл, внес изменения в 2-х других файлов и генерируется несколько других файлов.

  4. git status У меня есть 2 файла, которые были изменены, 1 файл удален и несколько файлов не проверены. Все идет нормально.

  5. Я заметил проблему, поэтому я вернулся к мастер-ветке через git checkout master и удалил новую ветку через git branch -d newbranch.

  6. git status все еще показывает, что существует несколько файлов без следа.

  7. Я решил вернуться к своей последней фиксации.

  8. git reset --hard b24d101

  9. git status теперь показывает, что никакие файлы не будут удалены или изменены (и на самом деле я могу подтвердить это после ручной проверки, удаленный файл с шага 3 есть, редактирует на 2 файлов с шагом 3 исчезли). Однако у меня все еще есть несколько невоспроизводимых файлов. Я не хочу их. Разве git не должен удалять эти файлы с момента их создания: а) на новой ветке, которая больше не существует и не была объединена перед удалением, и б) после того, как я вернусь к фиксации?

P.S. Предполагаю ли я "clean" эти файлы вручную?

ответ

1

Файлы, сгенерированные на шаге 3, никогда не выполнялись, поэтому git не отслеживал их. Git никогда не касается неиспользуемых файлов, поэтому он оставил их при удалении ветки. Поэтому не имеет значения, что «они были созданы на новой ветке», поскольку вы не добавляли и не отслеживали их, когда вы были на ветке.

Однако, если бы вы их совершили, они были бы правильно удалены, как только вы вернетесь к ветке master.

1

Я думаю, что это ответ на «P.S.» вопрос Да. Пока новые файлы не устраиваются или не выполняются, они не «принадлежат» ни одной ветке, и git полностью игнорирует их, и если вы хотите их удалить, вам придется делать это вручную.

С уважением, Udi