Как заставить HEAD и origin / master указывать на одну и ту же (последнюю) ревизию. (HEAD указывает на самое позднее, а источник / мастер указывает на ревизию) - PullRequest
1 голос
/ 21 апреля 2020

Я новичок в git -hub.

Мне нужно обновить свой коммит с -m "First" из локального репо до git -hub.

В настоящее время git log --oneline ниже показан стек.

394b23a (HEAD) First 895aa36 (origin/master, master) Second dc7346a Basic Service f627cd1 Data Binding. . . . Если я пытаюсь git push origin master, я получаю сообщение: " Все актуально ", и удаленное репо не обновляется. Я думаю, потому что HEAD и origin указывают на разные ревизии. Я не могу найти способ объединить оба. Я читал о git merge, но в основном это говорит о слиянии двух ветвей.

Пожалуйста, помогите обновить то же самое. Заранее спасибо.

ПРИМЕЧАНИЕ: Я использовал git reset --hard HEAD в недалеком прошлом, что, я думаю, может быть причиной этого несоответствия.

Ответы [ 2 ]

2 голосов
/ 21 апреля 2020
git checkout 394b23a
git branch master -f
git checkout master
git push origin master

HEAD не наступает ни на одну ветвь, тогда приведенные выше команды делают:

  • извлечение целевого коммита (вы уже наступаете, но на всякий случай)
  • move master указатель на этот коммит (без проблем, так как это движение вперед)
  • checkout master ветвь для перехода на него (для будущих коммитов)
  • pu sh (без конфликтов, без проблем, просто вперед, затем ОК)
0 голосов
/ 21 апреля 2020

HEAD-commit не находится в главной ветке.

Вы должны проверить свою ветку git branch, текущий бранч будет отмечен звездочкой. А после вас стоит переключиться на мастера git branch checkout master. Вы можете использовать cherry-pick, merge или rebase, чтобы добавить 394b23a -commit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...