2010-12-12 3 views
4

Я недавно сменил свою машину программирования, что приводит к некоторым проблемам при запуске, в результате чего мой новый источник кодирования легко интегрируется с моей существующей репутацией Github и моим приложением на Heroku.git pull - объединить удаленные изменения перед повторным нажатием

Первоначально я использовал git clone, чтобы клонировать Github repo на мою новую машину. С тех пор что-то случилось.

  • Когда я git add ., git commit -m "mychanges" и git push, код отправляется прямо в Heroku. Раньше он отправлялся на мое собственное репетирование Github, но я понимаю, что это просто вопрос о том, что считается «происхождением».
  • Переопределив происхождения в адрес моего GitHub репо, и набрав git push origin master, я получаю следующее сообщение об ошибке:
    ошибка: не удалось нажать несколько рефов к '[email protected]: ...
    Чтобы предотвратить вас от losinghistory , не-быстрая пересылка обновлений была отклонена. Объедините удаленные изменения («git pull») перед повторным нажатием.

Я обеспокоен тем, что мои последние два дня кодирования будут потеряны, если я сделаю git pull (я на всякий случай поддержал все).

Моя текущая идея: сделайте git pull и вручную обновите файлы последних двух дней из моей резервной копии, а затем, наконец, сделайте мой git push. Правильно ли это, или есть более элегантное решение?

ответ

10

git не перезаписывает ваши данные, если вы не используете сброс. git pull берет на себя origin/master (при условии, что ваша ветка является мастером) и попробуйте переадресовать вашу локальную ветвь на эту точку, объединив любые локальные изменения. Если вы совершили локальную атаку, и эти коммиты должны идти после любых последних коммитов на сервере, вы можете сделать git pull --rebase.

Смежные вопросы