Saya telah mengatur ulang komit di cabang sebelum dipublikasikan sehingga menyebabkan stempel waktu dari komit menjadi campur aduk. Saya lebih suka mereka semua menjadi hari ini dengan hanya beberapa detik di antaranya.
Jelas cap waktu ini juga tidak akan benar, tetapi karena ini adalah waktu ketika segala sesuatunya go public, saya lebih suka itu daripada sejarah yang campur aduk, bijaksana waktu.
Jadi, bagaimana cara memberi tahu git untuk membuat stempel waktu baru saat melakukan rebasing?
git
git-rebase
tarsius
sumber
sumber
git rebase --root
atau-i
, with--reset-author-date
akan berfungsi. Lihat jawaban saya di bawahJawaban:
sumber
--root
, yang memungkinkan hal ini.Incompatible with the --interactive option.
Lihat dokumenDalam kasus saya, rebasing mengubah stempel waktu menjadi nilai CommitDate, jadi di gitweb, beberapa komitmen yang berumur beberapa bulan muncul sebagai 4 hari. Saya menemukan komit terakhir dengan tanggal yang benar dan melakukan:
sumber
git rebase
: " Bendera ini diteruskan untukgit am
dengan mudah mengubah tanggal dari komitmen berbasis ulang ". Digit am
dalamnya tertulis:--committer-date-is-author-date
" [...] memungkinkan pengguna untuk berbohong tentang tanggal pelaku dengan menggunakan nilai yang sama dengan tanggal pembuat " sementara--ignore-date
" [...] memungkinkan pengguna untuk berbohong tentang tanggal pembuat dengan menggunakan nilai yang sama sebagai tanggal pelaku ".Ada caranya sebagai berikut
Rebase normal
Rebase interaktif
sumber
Dari komentar:
Sebenarnya ... ini tidak lagi kompatibel dengan Git 2.29 (Q4 2020): "
git rebase -i
" ( man ) mempelajari lebih banyak opsi .Opsi yang kompatibel dengan:
--interactive
/-i
--root
!Lihat commit 6160b2e (26 Agustus 2020) oleh Junio C Hamano (
gitster
) .Lihat commit 2712669 (17 Aug 2020), dan commit ef484ad (13 Jul 2020) oleh Rohit Ashiwal (
r1walz
) .Lihat commit a3894aa , commit 7573cec , commit e8cbe21 (17 Agustus 2020) oleh Phillip Wood (
phillipwood
) .(Digabung oleh Junio C Hamano -
gitster
- di commit 9c31b19 , 03 Sep 2020)Dan:
Juga:
git rebase
sekarang termasuk di halaman manualnya :git rebase
juga termasuk di halaman manualnya :sumber