Я бы решил, какой репо является вашим текущим, с историей, которую вы хотите, и посмотрю, есть ли у вас какие-либо незафиксированные изменения в одном из других.
Сначала сохраните копию папки незафиксированных изменений на p c, в которой они находятся в качестве резервной копии. Если есть.
Теперь, в зависимости от того, какой из них наиболее актуален, вы должны сделать следующее:
Самый простой : github - это соответствующий код и история:
Любые репозитории на штуки, которые не работают, просто удалите их и снова клонируйте их из github.
git clone <github>
Второй вариант : один из штук релевантен, а github НЕ актуален:
ВНИМАНИЕ : Это перезапишет ваш репозиторий github. Подумайте об этом дважды, если это действительно необходимо:
На p c с соответствующим кодом (при условии, что ваш github называется origin):
git push --force origin master
Затем, как в первом варианте удалите не работающую папку p c git и снова клонируйте.
Если у вас есть незафиксированные изменения - только в случае необходимости:
После того, как вы исправили хранилище на ПК, возьмите резервную копию из незафиксированных изменений и скопируйте их во вновь клонированное хранилище. Будьте осторожны, чтобы не перезаписать. git, .gitattributes или .gitignore. Лучше всего будет определить измененные файлы и только скопировать их. Затем вы можете зафиксировать изменения и сделать изменения, как обычно.
Справочная информация об ошибке и способах ее возникновения
Это может произойти, например, при удалении папки. git на домашней странице p c. Затем вы снова инициируете папку как репозиторий git и git pu sh --force для github. Тогда другой школьный репозиторий больше не связан с репозиторием github. Потому что для git это совершенно новое и не связанное. Вот почему вы получаете сообщение об ошибке «Несвязанная история».