Я недавно изменил свой код для размещения на Github и развернул его на своем действующем сайте, используя:
git pull origin master
Где для источника установлено значение https://github.com/myname/myproject
.
Все работает хорошо, за исключением состояния git, которое показывает:
# On branch master
# Your branch is ahead of 'origin/master' by 74 commits.
# (use "git push" to publish your local commits)
Это не правильно - я не сделал никаких коммитов, которые требуют публикации.Если я попытаюсь просмотреть детали, используя git diff master origin/master
, я увижу большое количество файлов в списке.Однако я не могу понять, откуда происходят эти изменения: взяв файл, который я хорошо знаю, и просмотрев его историю, я вижу, что версия, показанная git log
, точно такая же, как должна выглядеть версия на Github.
Вещи, которые я пробовал, которые не работали:
git fetch origin master:master
Я ожидал, что это приведет удаленного мастера к моему локальному мастеру.Но это никак не повлияло на статус.
git reset --hard origin/master
Это фактически сломало мой сайт, проверив какую-то другую версию кода.Я не знаю какой.Мне пришлось срочно git pull origin master
сделать восстановление, что (к счастью) вернуло систему в рабочее состояние, но оставило мой статус в этом нестабильном состоянии.
Может кто-нибудь помочь?
Кстати,Сейчас я прочитал, что использование git pull
в качестве механизма развертывания считается опасным, но я не совсем понимаю, почему, и я не нашел явно более совершенного способа сделать это в контексте Github - я открыт для предложений!
(обновлено в ответ на комментарий: вот ответ на git remote show origin
:)
* remote origin
Fetch URL: https://github.com/myname/myproject
Push URL: https://github.com/myname/myproject
HEAD branch: master
Remote branches:
fixes8p03 tracked
fixes8p07 tracked
master tracked
rfc2188 new (next fetch will store in remotes/origin)
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)