2012-06-25 15 views
15

Zrobiłem commit & wciśnięty, aby wykonać repo. Później zmodyfikowałem komunikat zatwierdzenia, używając git commit --amend, W wyskakującym oknie wprowadziłem nową wiadomość. Mogłem zobaczyć nową wiadomość przez git log. Po tym wszystkim proces, mój git status pokazuje w ten sposób. Nie wiem, jak przesunąć tę zmianę na repo.Jak naciskać, aby wykonać repo po wykonaniu polecenia "git commit --amend"

On branch master 
Your branch and `origin/master` have diverged, 
and have 1 and 1 different commit(s) each, respectively. 

Oczekiwanie na to możliwe rozwiązanie.

+0

Czy jesteś w porządku, dzieląc commit ponownie i opierając się na już opublikowanej (wyciekło?) Głowie? – Thilo

+0

Zobacz rozdział [gałąź główna i "pochodzenie/wzorzec" rozeszły się, jak rozdzielić gałęzie?] (Http://stackoverflow.com/questions/2452226/master-branch-and-origin-master-have-diverged- how-to-undiverge-branches) –

+0

Jeśli uda ci się uniknąć poprawek, kiedy zostaną one popchnięte do publicznego miejsca, w którym inni mogą je zobaczyć, absolutnie powinieneś. Dotyczy to również zmiany nazwy. –

Odpowiedz

22

Jeśli jesteś ok z modyfikacji historię na pilocie zdalnego repo (jak w, po prostu popchnął że popełnienia, a żadne nowe rewizje zostały wykonane), można spróbować

git push --force 

Jednak należy najpierw przeczytać "How do I push amended commit to the remote git repo?": jeśli ktoś już wycofał się z tego repo, nie będzie zadowolony.

Alternatywę opisano w "Git: pushing amended commits".
Jak wspomniano przez cpeisert w komentarzu "master branch and 'origin/master' have diverged, how to 'undiverge' branches'?" opisano komunikat ostrzegawczy.