Saya mendapati diri saya mengubah komitmen saya cukup sering. Saya tidak stash
begitu banyak karena saya cenderung lupa saya melakukannya, terutama ketika saya ingin menyimpan apa yang saya lakukan sebelum saya pergi atau sebelum akhir pekan, jadi saya melakukan komitmen "draft". Satu-satunya hal adalah, ketika saya mengubah komit, itu masih diatur ke tanggal penulis asli. Apakah ada cara (sederhana) untuk memperbaruinya saat mengubah?
305
Jawaban:
Anda dapat mengubah tanggal penulis dengan
--date
parameter menjadigit commit
. Jadi, jika Anda ingin mengubah komit terakhir, dan memperbarui tanggal pembuatnya ke tanggal dan waktu saat ini, Anda dapat melakukan:(
-R
Parameter yangdate
memberitahukannya untuk menampilkan tanggal dalam format RFC 2822. Ini adalah salah satu format tanggal yang dipahami olehgit commit
.)sumber
date
tidak tahu-R
. Tetap menggunakandate
opsi tidak melakukan pekerjaan itu!
dan keluar dari tanda kutip, misalnyacan = !git commit --amend --date=\"$(date -R)\"
date -R
tidak bekerja di OSX, gunakandate +%s
sajagit commit --amend --date="$(date +%s)"
git commit --amend --date=now
bekerja juga. Tidak perlu memanggil subkulit dengan perintah tanggal (1) . Anda dapat melihatnya di kode sumber git (1) di date.c 'now' adalah nilai khusus yang dikonversi menggunakan fungsi date_now (). Sama untuk 'siang', 'kemarin', 'tengah malam', 'teh' dan lainnya yang tercantum dalam susunan susunan khusus [].Cara lain untuk melakukan ini adalah
Ini memang mengubah pembuat komit dan juga tanggal - tetapi jika itu adalah komit yang belum dicopot maka itu adalah no-op.
Anda juga dapat menambahkan
--no-edit
jika Anda ingin memperbarui tanggal pada beberapa komit tetapi Anda ingin pesan komit tetap tidak tersentuh. Dengan cara ini Anda tidak akan diminta untuk mengedit pesan untuk setiap komit.sumber
git commit --amend
perubahan komit bukan hanya tweak atau sesuatu seperti itu, yaitu menghasilkan riwayat perubahan konten repositori yang berbeda di mana sistem kontrol versi mana pun sangat ketat. Dan dengan demikian saya secara intuitif berharap bahwa penulis dan tanggal dapat mencocokkan data komit aktual. Terutama kepengarangan itu penting, bahkan bukan kencan. Pilih komentar ini jika Anda ingin mengalahkan pengembang git yang bertanggung jawab atas default tersebut. :)Pada Git v2.1.4 (diuji pada Debian 8 (Jessie))
sumber
--no-edit
.Saya suka jawaban Mark dan menggunakannya sendiri beberapa kali, tetapi sekarang saya menggunakan OS X dan
date -R
tidak didukung. Tapi semuanya jauh lebih mudah daripada jawaban asli yang membuat kami berpikir, cukup gunakan string kosong !sumber
fatal: invalid date format:
--date="$(date)"
di OS X.-R
Opsinya adalah GNUism.Saya membuat paket npm ini jika seseorang masih mencari cara sederhana untuk mengubah tanggal dari beberapa komit.
https://github.com/bitriddler/git-change-date
Pemakaian:
sumber
npm
paket lain ? Tidak, pelajari cara menggunakangit
perintah apa adanya.