2013-05-14 2 views
0

В моем источнике git у меня есть папка, в которой скрипт сохраняет загруженные файлы. Репо размещено на сервере производства. В push git удалите файлы в этой папке, потому что это не в репозитории. Как я могу это исправить?Git удалить файлы на сервере, которые не находятся в репозитории


В хранилище есть upload папка, которая содержит один скрытый файл. In production php script place в этой папке файлы, загруженные пользователями. Когда я сделаю git push после изменений в источнике, git очистите эту папку в процессе производства.

+1

Добавьте папку сценария в файл '.gitignore', чтобы git проигнорировал его? –

+3

Храните файлы вне репозитория git. – asmeurer

+0

** Gary Fixler **, да папка 'upload' в файле' .gitignore' – verybadbug

ответ

1

решает проблему сохранения файлов вне хранилища (как говорят asmeurer) и создать символическую ссылку upload вместо папка в репозитории. Для использования различных символических ссылок в локальном и удаленном репозитории я добавляю upload в .gitignore и do git update-index --assume-unchanged для этого файла.

0

Даже если вы хотите, чтобы эти файлы были в одном и том же репозитории, и вы не хотите переместить их в другую папку, тогда не добавляйте их в git .. не используйте git add для этих файлов ... Теперь вы хотите удалить их, скопируйте те файлы в другую папку. запустить GIT ет имя_файл, а затем копировать вставить их в том же папке, таким образом, мерзавец не суммируется и не забота о ваших неотслеживаемых файлах ..

+0

Я имею в виду не мой рабочий стол. Я хочу сделать это на git-сервере. – verybadbug

+0

да, тогда вы можете использовать простые mergeyour изменения, для которых вы разрешили конфликты слияния с помощью «git rm» .. Он удалит эти файлы с удаленного. – mrutyunjay

+0

Файлы, которые мне нужно хранить на сервере, и их нет в репозитории. Поэтому, когда я делаю git push, git удаляет эти файлы. – verybadbug

Смежные вопросы