Saya relatif baru untuk git, saya menggunakan Subversion sebelumnya.
Saya perhatikan bahwa sebagian besar grafis front-end git dan plugin IDE sepertinya tidak dapat menampilkan sejarah file jika file telah diganti namanya. Saat saya gunakan
git log --follow
pada baris perintah, saya bisa melihat seluruh log di seluruh nama.
Menurut Linus Torvalds , --follow switch adalah "SVN noob", pengguna git yang serius tidak menggunakannya:
--follow adalah total hack, dimaksudkan untuk memuaskan pengguna ex-SVN yang tidak pernah tahu apa-apa tentang hal-hal seperti menjadi orang tua atau grafik revisi yang bagus.
Ini tidak sepenuhnya mendasar, tetapi implementasi "--follow" saat ini benar-benar merupakan hal preprocessing cepat yang melesat ke logika jalan revisi, daripada menjadi sesuatu yang benar-benar integral.
Ini benar-benar dirancang sebagai "SVN noob" pleaser, bukan sebagai "fungsi git nyata". Idenya adalah bahwa Anda akan lolos dari pola pikir (rusak) yang mengubah nama menjadi penting dalam gambaran besar.
Pertanyaan Saya : Bagaimana cara pengguna hardcore git di antara Anda mendapatkan riwayat file saat diubah namanya? Apa cara 'nyata' untuk melakukan ini?
/bin/mv oldfile newfile), tetapi lakukan git add newfile; git rm oldfile, hasilnya tidak dapat dibedakan dari itu git mv oldfile newfile.
git log --followmeningkatkan sedikit dengan git 2.9 (Juni 2016): lihat jawaban saya di bawah ini
--color-movedsaat Anda diff.
git mv oldfile newfiletidak menyebabkan perubahan nama direkam sama sekali - itu hanya sama dengan menghapus satu file dan menambahkan yang lain. git hanya berhasil mengganti nama dan salinan dari status pohon di setiap komit setelah fakta.