2013-11-07 1 views
0

У меня есть 3 фиксаций в главной ветке:Как отредактировать старые сообщения фиксации и push на сервер?

  • третьих

  • второго

  • первого

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

  1. GIT касса (моя ветвь "(отдельно от ...)")
  2. некоторых изданий
  3. мерзавца совершить --amend

Но как я могу подтолкнуть свои обязательства к мастер-ветке? Заранее спасибо.

ответ

0

только используя git push origin master. Убедитесь, что вы находитесь в филиале master.

+0

не работает. Я видел «Все обновленное» –

+0

Почему не работает? – david

0

использование перебазироваться:

git rebase first^ --interactive 

затем заменить pick на edit в редакторе, а затем сохранить и запустить. Вы сможете редактировать вещи, а затем совершить по git commit --amend

Затем нажать на сервере, где ваш частный репо находится:

git push origin master -f 

-f требуется и означает «сила»: потому что это обычно это плохая идея переустановить что-то опубликованное (поэтому я выделяю выделение частного репо жирным шрифтом: не делайте этого, если репозиторий используется другими людьми или сначала предупреждает о необходимости перезагрузки или сброса своего местного репо)

0

Кажется, вы еще не работали над master филиал, но на отдельной головке. Это немного опасно, так как вы можете потерять фиксации, пока не появится ссылка на них (ветвь, тег). Так что используйте:

git branch temp 

Тогда вы можете положить ваши коммиты местному master:

git checkout master 
git merge temp 

Временный филиал бесполезен больше, поэтому удалить его:

git branch -d temp 

Ваши коммиты находятся на местном master, и вы можете нажать их.

(Вы можете также сделать уведомление о SHA1 сторонней ГОЛОВЕ, пропустите git branch команд я упоминал, и использовать git merge с этим SHA1 вместо именем ветви. Тем не менее, я нахожу путь, используя ветвь более ГИТ-осознанной.)

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