2015-02-21 3 views
0

Как переименовать мой последний коммит, который я уже синхронизировал с github?Не удается переименовать последнюю синхронизированную фиксацию

Это не работает:

git commit --amend -m "New name" 

enter image description here

enter image description here

Когда команда завершает отображает новое имя. Но если я синхронизирую проект с github, тогда снова отображается прежнее неправильное имя.

enter image description here

+1

Вам нужно будет объяснить, что вы подразумеваете под «не работает», и, возможно, также, что вы подразумеваете под «переименовать фиксацию», (у коммитов нет ничего, называемого «именем», просто автор + коммиттер + дерево + родители + сообщение журнала). – torek

+0

@torek Вопрос действительно очень неясен; Я предполагаю, что, «не работает», OP означает, что он не может подтолкнуть свое исправленное сообщение. – Jubobs

+0

@torek Я выполняю команду из своего вопроса, и ничего не происходит. Имя не изменено. Под именем я понимаю, что красным выделено на скриншоте – dima

ответ

1

перефразирование коммитты эквивалентно изменения себя обязательство из истории филиала точки зрения. В обоих случаях вы изменяете хэш фиксации. Так как вы уже толкнул эту ветку GitHub, ваш следующий толчок потерпит неудачу, если не заставит

git push origin master -f 

Ваша модификация не будет отображаться на пульте ДУ, пока вы не сделаете это. Вы можете, однако, видеть, что он был правильно изменен локально, используя git log или визуально с gitk --all

+0

* Переписывание сообщения фиксации эквивалентно изменению самого фиксации. * [Не совсем] (http://stackoverflow.com/questions/26050327/how-does-git- совершить, изменить с работой точно/26050416 # 26050416). – Jubobs

+0

С точки зрения истории ветви это - как результат изменения HASH фиксации. Вот что я имел в виду, я отредактирую. –

+0

Должен ли я сначала выполнить вашу команду, а затем мой? Если да, то, к сожалению, он все еще не работает – dima

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