Saya ingin dapat melakukan ini untuk sebuah skrip. Saya pada dasarnya membuat ulang seluruh riwayat versi beberapa kode di Git - saat ini menggunakan sistem kontrol versi yang berbeda. Saya membutuhkan skrip untuk dapat menambahkan komit ke Git sambil mempertahankan penulis asli komit (dan tanggal).
Dengan asumsi saya tahu pembuat komit dan tanggal / waktu perubahan dilakukan, apakah ada perintah Git yang memungkinkan saya melakukan ini? Saya berasumsi ada, karena git-p4 melakukan hal serupa. Saya hanya meminta cara terbaik untuk melakukannya.
git
command-line
commit
Carl
sumber
sumber
Jawaban:
Lihat
--author
opsi untukgit commit
:Dari halaman manual :
sumber
--date
opsi untuk mengganti tanggal.git commit -a --author="$user_details" --date="submit_date $submit_time" --file=/tmp/commit_msg
Hanya untuk menambahkan ini:
--author
Opsi yang disebutkan dalam jawaban yang diterima hanya akan menimpa penulis , bukan informasi pelaku dari komit.Itu adalah perilaku yang benar dalam banyak kasus, tetapi jika karena alasan tertentu Anda juga perlu mengganti informasi komitter secara manual , gunakan variabel lingkungan
GIT_COMMITTER_NAME
danGIT_COMMITTER_EMAIL
(adaGIT_COMMITTER_DATE
juga). Lihat Git-Internals-Environment-VariablesIni akan membuat komit terlihat seperti itu dibuat dan dilakukan oleh pengguna yang ditentukan.
sumber
git log --pretty=fuller
Edit file ~ / .gitconfig Anda dan tambahkan alias baru tempat Anda dapat menyesuaikan pengguna dan email non-default.
Menguji
sumber