Как мне перейти на текущую ветку git на удаленном компьютере, и чтобы изменения немедленно отразились?

У меня есть 2 веб-сервера, один тестовый и один живой. Оба имеют свои кодовые базы, управляемые с помощью git.

Я разрабатываю на тестовом сервере, а затем перенесу изменения из главной ветки на тестовом сервере на работающий сервер с git push, Тем не менее, на данный момент я должен войти на сервер и запустить git reset --hard чтобы изменения были отражены в живом коде.

Предупреждающее сообщение git отображается, когда я нажимаю, предлагает изменить настройку receive.denyCurrentBranch изменить, как этот толчок обрабатывается. Однако, как я понимаю, я могу либо отказать в толчке, принять его с предупреждением и потребовать git resetили принять его без предупреждения и требовать git reset, Могу ли я принять толчок и не требовать сброса?

Спасибо!

2 ответа

Решение

Звучит так, как будто вы продвигаетесь в не-пустое хранилище (то есть в том, которое хранит копию файлов хранилища на диске). Вы можете нажать на него, но Git не будет автоматически обновлять файлы рабочей копии без git reset (или же git checkout). Вы могли бы использовать ловушку после получения, чтобы сделать проверку автоматически, хотя - здесь есть хороший практический совет.

mipadi прав, что вам действительно нужно иметь репо на своем рабочем сервере. Если вас не устраивает хук после фиксации (многим это не нравится). Вы можете создать задание cron на том сервере, который запускает мастер git pull origin каждые полчаса или около того.

Другие вопросы по тегам