Подтвердить что ты не робот

Git вернуть фиксацию/нажатие, но сохранить изменения

Это происходит следующим образом:

  • У меня есть файлы A и B, которые я модифицировал

  • Я только предполагаю совершить и нажать A, но случайно совершил оба и нажал A и B

  • Я сделал "git push old-id: master", так что github показывает, что "Мастер теперь старый-id", где old-id является последним фиксатором передо мной, поэтому я думаю, что он вернулся к до того, как я совершил.

Вопрос:

  • На моем локальном сервере, как я могу отменить фиксацию, которая имеет A и B, и совершить только A, и нажимать только A?

Примечание. Мне нужно сохранить изменения для A и B на моем локальном уровне. Конечный результат должен быть:

  • Локальный - новый A и новый B
  • Github - новый A и старый B
4b9b3361

Ответ 1

$ git reset <old-id>    # Undo the commit after old-id
$ git add A             # stage A for a new commit
$ git commit            # make the new commit
$ git push              # push it