Да, я думаю, что за это отвечает команда git checkout -f. Заставит перезаписывать все, несмотря ни на что.

ал, что выкину это и посмотрю, смогу ли получить какой-нибудь твердый совет по этому поводу

У меня есть производственный сайт с довольно большой кодовой базой, и я только что установил на него Git, так же как и на тестовом сайте. И у меня есть локальная коробка, которая в основном будет точкой интеграции. Наша команда подтолкнет к локальной коробке, и маленькие гномы приедут и заберут все на наши разные серверы - или, по крайней мере, это самое близкое, что я пришел к реализации Git.

У меня действительно нетмалейшее Понять, с чего начать. У меня есть большая, привередливая, устаревшая кодовая база, которую я боюсь коснуться в хороший день. Git должен стать отправной точкой большого процесса очистки, я просто не знаю, с чего начать.

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

Я собирался установить git-flow при разработке (не могу заставить его работать на моем производственном сервере), а затем перейти к производству. Поскольку в конце концов они являются просто ветвями, я подумал, что мне не стоит использовать git-flow на серверах prod / test.

Кажется, все хорошо, я просто не знаю, стоит ли мне нажимать на test / prod или тянуть с dev на test / prod. Может быть, просто git init в серийном docroot? Создать каталог .git и git init к этому? Git init Git Giggidy Giggigdy ...

Выводы приветствуются.

редактировать

Вот что я в итоге сделал, надеюсь, кто-то еще найдет это полезным.

Загруженный текущий производственный код на сервер разработки (LAMP). Установите файлы .gitignore и запуститемерзавец внутри каталога и осуществил начальный импорт / коммит
На промежуточных / производственных серверах:
созданныйYOURNAME.git каталоги и созданные голые репозитории сgit init --bare
Установить рабочее дерево как/ Путь / к / мой / public_htmlустановите значение false в false и установите значение receive.denycurrentbranch игнорировать
Добавлена ​​строка для перехвата / пост-получения:git checkout -f убедившись, что мой пользователь git имел разрешение писать на рабочие деревья

Вернуться на сервер разработки:
git remote add [staging | production] ssh: //myuser@myserver/path/to/my.git
git push [постановка | производство] мастер

Чтобы обновить мои производственные и промежуточные сайты, это простоgit push [производство | постановка] и мне не нужно возиться с сокрытием каталога .git от публичного просмотра.

Источники:http://www.deanoj.co.uk/programming/git/using-git-and-a-post-receive-hook-script-for-auto-deployment/
http://toroid.org/ams/git-website-howto

Надеюсь, это поможет кому-то!

Редактировать снова
Также лучше всего работает на 1.7.3.3 или новее. Я использую виртуальную версию Ubuntu для разработки и столкнулся с некоторыми проблемами, связанными с Samba. После нескольких часов борьбы с этим прочитайте, что проблема была исправлена ​​в 1.7.3.3. Я был на 1.7.3.1.

Ответы на вопрос(1)

Ваш ответ на вопрос