git push force, PHPFog и случайный файл, который не отображается в моем репозитории


Я использую PHPFog и развертываю с помощью git push -f <repo> для перезаписи существующего содержимого на сервере. Некоторые из моих развертываний были из совершенно разных репозиториев, так как я экспериментировал с некоторыми вещами.

Я обнаружил, что файл из предыдущего толчка, который больше не существует в текущем толкаемом репозитории, задерживается на сервере. Я могу удалить этот файл (с помощью php-скрипта), но при каждом новом отправке на сервер этот файл будет создаваться заново - даже если только что отправленное репо не содержит это.

Извлеченный урок состоит в том, чтобы не нажимать с силой, я предположил - но почему этот случайный файл воссоздается при нажатии репозиториев, которые его не содержат?!

Опять же, вот что я вижу:

  • git push -f repo_1 (содержит random.txt)
  • random.txt существует
  • Я удаляю все файлы, random.txt теперь его нет
  • git push-f repo_2 (не содержит random.txt)
  • random.txt снова существует (почему?!)

РЕДАКТИРОВАТЬ: Я предполагаю, что принуждение изменения в репо оставляют старые файлы все еще отслеживаемыми, даже если новое репо никогда их не отслеживало. Я изменил свой метод развертывания, чтобы теперь клонировать то, что есть в PHPFog, удалить все и добавить новые файлы перед нажатием. https://github.com/swt83/phpfog-deploy

Author: swt83, 2012-02-06

1 answers

Некоторые из моих развертываний были из совершенно разных репозиториев

Если у вас есть рабочая копия (та, которая не заблокирована), не могли бы вы просто удалить исходный каталог git и КЛОНИРОВАТЬ/ИЗВЛЕЧЬ свою рабочую копию?

При фиксации git commit -am "Message here" всегда находил удаленные файлы и тому подобное. Это та команда, которую вы используете для фиксации?

Вы также можете добиться успеха, попытавшись удалить текстовый файл из списка git:

git rm --cached random.txt

На Github показано, как сохранить этот файл от слежки.

 0
Author: earthmeLon, 2012-02-10 03:00:52