Git подталкивает к репо, говорит, что подтолкнул к репо, говорит, что репо актуально, но репо на самом деле не актуально - PullRequest
0 голосов
/ 18 октября 2018

Для справки:

После нажатия git сообщает, что все актуально, но изменений нет в репо

Удаленное репо говорит, что онона сегодняшний день, но не хватает сотен локальных коммитов

git repo сообщает, что он обновлен после получения, но файлы не обновляются

Мой случайнемного по-другому.Мне не говорят, что все в курсе.Каждый раз, когда я нажимаю, я получаю сообщение $OLD_HASH..$NEW_HASH branch -> branch, как и ожидалось, и когда я просматриваю журналы как для ветви, в которой я нахожусь, так и для удаленной / ветви, это показывает, что они актуальны.

Однако, когда я пытаюсь вытащить свой ноутбук, он говорит: «Уже в курсе», поэтому я снова нажимаю, получая то же сообщение, что и раньше, сообщая, что происходит фиксация коммита.То есть, он снова подтолкнул тот же коммит.

Просто чтобы быть уверенным, что я клонирую репо, и достаточно ли пропущенный коммит (только один) отсутствует.

Я проверяю URLПросто чтобы убедиться, что ничего странного не произошло без моего ведома.Затем я прыгаю в Интернете и пытаюсь выяснить, что сделали другие люди.

Распространенные решения - в ответ на подталкивание и сообщение, что «Все в курсе».Решение этой проблемы состоит в том, чтобы добавить все, зафиксировать и затем нажать.Однако, это не так для меня, так как у меня есть коммит, он выдвигается (неоднократно), и локально он показывается как выдвинутый.

Другая предложенная вещь была git push remote branch:branch, которую я попробовал безлюбая разница в эффективности.

Следующее, что я попробовал, было получить.После извлечения журнала локального репо видно, что HEAD удаленной ветви действительно отстает на один коммит, однако, когда я затем нажимаю (без реального эффекта), он перемещается, хотя в действительности он не так проверен, пытаясь подтянутьклон.

С пультом вроде все нормально.Я нажал на него раньше со своего ноутбука и вытащил на рабочий стол.

Наконец я попытался

cp file temp
fit fetch --all
git reset --hard remote/branch
mv temp file
git add file
git commit -m"message"
git push

, где file - файл, над которым я работал.Однако это не сработало лучше, чем то, что было опробовано ранее (другими словами, совсем не так).Также обратите внимание, что я не думаю, что git reset --hard влияет на пульт.Скорее я знаю, что это влияет только на локальное репо.

Просто я не пытался перенести в другое репо на том же сервере, и он работает нормально.Это всего лишь один репозиторий, который работал нормально несколько часов назад.

Более того, если посмотреть на собственный клиент пульта на моем планшете (в отличие от используемого в CLI git git), он показывает, что я подтолкнул кнесколько минут назад, хотя фиксация не показывается.

Мне было предложено поделиться выводом git status

$ git status
На ветке devel
Ваша ветка актуальна с 'origin / devel'.
нечего коммитить, рабочее дерево чистое

Еще одна вещь, которую я только что попробовал, это git checkout -b test затем git push -u remote test, ноНа самом деле ветку не выдвигали, несмотря на то, что git сказал, что это так.

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

Что касается полного (хотя и запутанного) push-вывода:

$ git push
Initializing Keybase.... сделано.
Синхронизация с базой ключей ... выполнено.
Для базы ключей: // private / my / repo
ветвь hashA..hashB -> ветка

Как ясказал, без ошибок, но это не значит, что это нормально.Для другого репо:

$ git push
Инициализация базы ключей ... выполнено.
Синхронизация с базой ключей ... выполнено.
Подсчет и расшифровка: 4 объекта ... выполнено.
Подготовка и шифрование: (100,00%) 4/4 объектов ... выполнено.
Индексирование хэшей: (100,00%) 4/4 объектов ... выполнено.
Индексирование CRC: (100,00%)Объекты 4/4 ... выполнено.
Смещения при индексировании: (100,00%) Объекты 4/4 ... выполнено.
Синхронизация зашифрованных данных с базой ключей: (100,00%) 200,65 / 200,65 КБ ... выполнено.
На базе ключей: // private / my / otherRepo
hashC..hashD otherBranch -> otherBranch

Я еще раз взглянул на журналы git, и кажется, что происходит какое-то странное расхождение.Коммит, который я продолжаю пытаться выдвинуть, существует в нескольких ветвях (обычно) с тремя различными хэшами (не нормально).Я собираюсь разобраться в этом дальше.Я не совсем уверен, что происходит, поэтому я не могу дать точный отчет, но это новая информация.

На самом деле, теперь, когда я смотрю на историю, а не простосоветы, что-то действительно странное происходит.Мои локальные репо перепутаны.Я знал, что они не были в особенно хорошем состоянии (я перенесся в корень, чтобы исправить проблему с отсутствующим фильтром, которая разделяла все на отдельные ветви без единой истории), но я не думаю, что причина этого.

Тем не менее, если я заставлю толчок, я ожидаю, что коммит будет там, несмотря ни на что.

...