Я довольно новичок в github в целом, поэтому есть некоторые объяснения или слова, которые не совсем понятны, извините.
Раньше у меня была папка под названием «statictis», которая связана с репозиторием github под названием «файлы кода statictis». Исходная папка, содержащая исходные файлы, связанные с исходным github, теперь называется прошло на моем локальном компьютере.
Недавно я создал несколько файлов кода, связанных с репозиторием «файлы кода statictis», который у меня есть на github, но поскольку у меня нет исходной папки, связанной с репо (я удалил ее). Я пытаюсь найти способ отправить свой новый код в старое репо, но поскольку исходная папка, связанная с репо, теперь исчезла, я застрял, я попытался добавить ее обычным способом:
git init
git remote add origin <remote link>
git add .
git commit -m 'New edit date/time'
git push origin master
И я получил эту ошибку:
! [rejected] master -> master (fetch first)
error: failed to push some refs to '*github repo link*'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
И я попытался вытащить с помощью команды pull:
git pull <remote> master:dev
git push origin master
Но получаю новую ошибку о том, что мой брач отстал. Итак, я увидел предложение использовать push -f, но это удалит мою фиксацию.
Если у вас есть какие-либо предложения упомянуть. Инструкция была бы очень признательна.
TL;DR:
- Папка, связанная с моим репозиторием github на моем локальном компьютере, теперь удалена.
-У меня есть несколько файлов в совершенно другой новой папке, которые связаны с предметом репозитория, и я пытаюсь отправить их в старый репозиторий github, но он продолжает отображать ошибки.
Итак, вы создали репо и случайно потеряли файлы в своем локальном или в github? Если вы потеряли файлы на своем локальном компьютере, вы можете просто снова клонировать проект из репозитория на свой локальный.
git clone https://github.com/github/training-kit.git
В качестве альтернативы, если некоторые из ваших изменений в вашем локальном каталоге присутствуют, и вы удалили только пару папок, вы можете отменить внесенные вами изменения.
git checkout .
или git restore .
отменит все ваши локальные незафиксированные изменения.
Затем внесите изменения в code_2 и верните их в репозиторий. Дайте мне знать, верно ли это понимание, или измените свой вопрос, и я также могу обновить свой ответ :)
Самый простой способ вернуть ваши изменения — снова клонировать репозиторий с github на локальный. Вы получите назад все ваши потерянные папки или файлы. Просто удалите всю папку. Используйте эту команду git clone
, чтобы настроить и вернуть папку и файлы, а также внести новые изменения по мере необходимости. Причина, по которой вы видите ошибки, заключается в том, что у git remote есть файлы, и вы, похоже, отправляете разные обновления, которые конфликтуют с обновлениями в вашей локальной сети, не имея удаленных изменений. Вы должны убедиться, что у вас есть фактические изменения с удаленного компьютера, прежде чем делать дальнейшие обновления,
Итак, мне нужно клонировать все папки из моего старого репо, добавить новые файлы и снова отправить их обратно, верно?
Команда git clone repo
клонирует весь проект с удаленного на локальный. Так вы получите все папки, которые видите в github. Для получения дополнительной информации о git clone вы можете проверить здесь связь. Затем вы вносите свои изменения и нажимаете. :)
Спасибо, это сработало, новые файлы были добавлены, а старые коммиты сохранены. Но есть ли альтернативные пути? Потому что клонирование — это загрузка ваших файлов из репозитория, представьте сотни файлов, много ли времени потребуется на клонирование? @Арджун
У меня есть проекты с более чем 2000 файлами. Клонирование по-прежнему занимает менее 30 секунд. :)
Спасибо за ваш комментарий, это был не тот ответ, которого я ожидал, с тех пор я отредактировал свой вопрос, чтобы, надеюсь, объяснить мою проблему. Еще раз спасибо.