Ubah root commit di git?

Ada beberapa cara untuk mengubah pesan dari commit selanjutnya:

22 янв. diatur ke 13ren 22 Jan 2010-01-22 21:21 '10 pada 21:21 2010-01-22 21:21
@ 5 balasan

Dengan asumsi Anda memiliki pohon kerja yang bersih, Anda dapat melakukan hal berikut.

243
22 янв. Balas diberikan oleh CB Bailey 22 Jan 2010-01-22 21:53 '10 pada 21:53 2010-01-22 21:53

Seperti pada Git versi 1.7.12 , sekarang Anda dapat menggunakan

 git rebase -i --root 
477
31 янв. jawabannya diberikan oleh ecdpalma 31 Jan 2013-01-31 19:24 '13 pada 19:24 2013-01-31 19:24

Untuk memperluas respons ecdpalma , Anda sekarang dapat menggunakan --root untuk memberi tahu rebase apa yang ingin Anda timpa root / commit pertama:

 git rebase --interactive --root 

Kemudian perbaikan root akan muncul dalam daftar instal u>

 reword <root commit sha> <original message> pick <other commit sha> <message> ... 

Penjelasan ini --root dalam dokumen Git rebase (penekanan saya):

Pulihkan semua komit yang tersedia dari <branch> alih-alih membatasi mereka ke <upstream> . Ini memungkinkan Anda untuk mereset kunci root pada cabang .

57
14 июля '13 в 22:47 2013-07-14 22:47 jawabannya diberikan oleh user456814 14 Juli '13 pada 22:47 2013-07-14 22:47

Jika Anda hanya membuat repo dan mengetahui sebelumnya bahwa di masa depan Anda menarik fiksasi "pertama", Anda dapat menghindari masalah ini sama sekali dengan membuat perbaikan kosong di awal:

 git commit --allow-empty -m "Initial commit" 

dan hanya setelah itu mereka mulai membuat fiksasi "nyata". Kemudian Anda dapat dengan mudah menginstal u>git rebase -i HEAD^

11
06 марта '14 в 21:37 2014-03-06 21:37 jawabannya diberikan jakub.g 06 Maret '14 di 21:37 2014-03-06 21:37

Anda dapat menggunakan git filter-branch :

 cd test git init touch initial git add -A git commit -m "Initial commit" touch a git add -A git commit -m "a" touch b git add -A git commit -m "b" git log --> 8e6b49e... b 945e92a... a 72fc158... Initial commit git filter-branch --msg-filter \ "sed \"s|^Initial commit|New initial commit|g\"" -- --all git log --> c5988ea... b e0331fd... a 51995f1... New initial commit 
4
22 янв. Balas diberikan oleh Alexander Groß 22 Jan. 2010-01-22 21:46 '10 pada 21:46 2010-01-22 21:46