Возможно, этот вопрос слишком широкий (я надеюсь, что нет), но в настоящее время я не знаю, как решить мою WordPress Git Branching Model проблему.
Я планировал создать такую модель ветвления без использования BitBucket Server или Jenkins :
Итак, я начал делать git init
в папке wp-content
моей PROD
(на данный момент только установка WP) системы.
После того, как я закончил с этим, я клонировал всю страницу PROD
и создал поддомен staging
. После завершения клонирования я удалил папку wp-content
в системе staging
и набрал git clone <prod-path>/.git
.
Это прекрасно работало, и после внесения некоторых изменений (в целях тестирования) в промежуточную версию я смог вернуть их обратно к PROD
. До сих пор все логично и нормально и работало очень хорошо.
Подумав некоторое время, у меня появилась отличная (может быть, глупая) идея сделать то же самое с локальным клоном DEV
на моем ПК. Итак, я делал то же самое, что и в промежуточной версии, но на этот раз я клонировал промежуточный wp-content
клон (PROD
клон) в мою локальную DEV
версию.
На первый взгляд, все выглядело нормально, но после попытки что-то перенести в систему Staging, я получил rejected
от целевой стадии Git
:
remote: error: refusing to update checked out branch: refs/heads/development
remote: error: By default, updating the current branch in a non-bare repository
Итак, я сначала подумал, что это очень глупо, потому что постановка - это также клон без HEAD
, как на PROD
(я думаю).
Итак, мой вопрос к вам:
У вас есть идея, как я могу сохранить этот вид Workflow без какого-либо стороннего программного обеспечения, но с двумя клонами, с которыми я могу работать на DEV
, тестировать на Staging
и запускать на PROD
?
Чтобы сказать это с помощью команд:
1. git push <to the staging>
2. git push <to the prod>
3. git merge <dev to master>
Обновление
Это содержимое моей папки «голые крючки» (пост-полученных сообщений нет, что мне делать?):
/wp-content/.bare/hooks$ ls -la
total 56
drwxr-xr-x 2 wp_ftp psacln 4096 Apr 11 13:09 .
drwxr-xr-x 7 wp_ftp psacln 4096 Apr 11 13:20 ..
-rwxr-xr-x 1 wp_ftp psacln 478 Apr 11 13:09 applypatch-msg.sample
-rwxr-xr-x 1 wp_ftp psacln 896 Apr 11 13:09 commit-msg.sample
-rwxr-xr-x 1 wp_ftp psacln 3327 Apr 11 13:09 fsmonitor-watchman.sample
-rwxr-xr-x 1 wp_ftp psacln 189 Apr 11 13:09 post-update.sample
-rwxr-xr-x 1 wp_ftp psacln 424 Apr 11 13:09 pre-applypatch.sample
-rwxr-xr-x 1 wp_ftp psacln 1642 Apr 11 13:09 pre-commit.sample
-rwxr-xr-x 1 wp_ftp psacln 1492 Apr 11 13:09 prepare-commit-msg.sample
-rwxr-xr-x 1 wp_ftp psacln 1348 Apr 11 13:09 pre-push.sample
-rwxr-xr-x 1 wp_ftp psacln 4898 Apr 11 13:09 pre-rebase.sample
-rwxr-xr-x 1 wp_ftp psacln 544 Apr 11 13:09 pre-receive.sample
-rwxr-xr-x 1 wp_ftp psacln 3610 Apr 11 13:09 update.sample