Ia disebabkan oleh perbezaan antara nama pengguna syarikat git dan nama pengguna saya sendiri
Apabila menyerahkan kod, konfigurasi pengguna git global digunakan secara lalai, nama pengguna xiaoli
dan kemudian ditolak ke github
Selepas itu, saya mengkonfigurasi pengguna git projek dan menggunakan xiaowang
untuk menolak kod itu semula
Apakah yang perlu saya lakukan jika saya mahu menulis semula alamat e-mel pengguna git commit pertama?
Saya menggunakan
git rebase -i HEAD~2
Tetapi hanya maklumat penyerahan terakhir yang muncul.
Langkah saya agak menyusahkan, jadi saya sediakan gambar untuk anotasi:
Pertama, buka rekod sejarah melalui
gitk
, seperti yang ditunjukkan di bawah:Dalam contoh ini, saya cuba mengubah suai maklumat nama pengguna/e-mel yang sepadan dengan penyerahan ketiga
more tests for later change cases
.Langkah pertama ialah menyalin nilai
update readme
penyerahan keempatSHA1 ID
, seperti yang ditunjukkan dalam gambar di atas, pilih sebahagian daripada4535579
(tidak semua daripada mereka perlu, lapan pertama dalam tanggapan saya adalah cukup)Langkah kedua ialah kembali ke baris arahan dan mula melaksanakan operasi
rebase -i
, seperti berikut:Pada masa ini,
git
akan memanggil editor yang dikonfigurasikan secara automatik untuk membuka antara muka, seperti berikut:Langkah ketiga ialah mengubah suai
pick
baris pertama data (komit yang kami jangkakan untuk mengubah suai) kepadaedit
, seperti berikut:Simpan dan keluar, anda boleh melihat hasil berikut:
Sejuk, kini kami boleh mengubah suai maklumat pengguna dengan mudah melalui
git commit --amend
Operasi adalah seperti berikut:Teruskan untuk melengkapkan
rebase
,Buka
gitk
sekali lagi dan nikmati hasil anda:Akhir sekali, selaraskan hasil pengubahan rekod sejarah ke pelayan melalui
git push --force