Git push для удаленного репо не имеет никаких эффектов

Я установил репо на моем сервере следующим образом:

> git init 
> git config --local receive.denyCurrentBranch updateInstead
> git add *
> git commit -m "Init Git" 

Вот как я вытащил репо, внес некоторые изменения и перенес его обратно на сервер:

> git clone ssh://user:password@host.com/backend
> git add *
> git commit -m "First Push"
> git push origin master

Это все проходит без проблем!

Если я сейчас проверю ветки и логи, то получу на своем сервере и на моем компьютере это:

> git log
commit 8f69afeffae2c44d6952dbb753a003deea2fbe2a
Author: Mac 
Date:   Thu Jun 21 17:47:19 2018 +0200

    First Push

commit 787c90ee79a4f3da207a57fcca552ebb7087294c
Author: Server 
Date:   Thu Jun 21 17:43:46 2018 +0200

    Init Git

> git branch -v
> * master 8f69afe First Push

Это означает, что и мой компьютер, и сервер обновлены и должны содержать одинаковые файлы. Однако это не так...

Я отредактировал файл на своем компьютере до того, как зафиксировал его, и отправил обратно на сервер с сообщением "Первое нажатие". Изменения сделаны на моем компьютере, но я не вижу изменений на моем сервере.. Как это может быть, если сервер получил push-уведомление и говорит, что он находится в той же ветке?

Должен ли я оформить заказ? Как я могу обновить репо на сервере?

Если я снова вытащу репо на свой компьютер, появится надпись "Все файлы обновлены"!

С уважением и Спасибо!

1 ответ

Как это может быть, если сервер получил пуш и говорит, что он находится в той же ветке?

Ты вытащил местный master филиал к удаленному master филиал (та же ветка в удаленном).

Чтобы отправить локальную ветку в ветку git-сервера, она указывается командой git push origin master, Команда равна git push origin <localbranch>:master, Это означает, что вы подтолкнули местный master филиал к удаленному master ветка.

И беспокоить причину, почему местные master версия ветки отличается от удаленной master Версия ветки, вы можете проверить с нижеуказанными аспектами:

1. Проверьте, нет ли в локальном филиале незафиксированных изменений

Используйте команду git status проверить, чистое ли рабочее дерево. Если есть незафиксированные изменения, вы должны зафиксировать и передать изменения на удаленное устройство.

2. Проверьте разницу между локальной веткой master и удаленной веткой master

Используйте следующие команды для проверки различий между локальным главным и удаленным главным ответвлениями:

git fetch origin
git diff master origin/master

3. Проверьте журналы diff между локальной мастер-веткой и удаленной мастер-веткой.

Используйте команды ниже для проверки журналов diff между локальной главной веткой и удаленной главной веткой:

git log master..origin/master --oneline
git log origin/master..master --oneline
Другие вопросы по тегам