Saat git commit
membuka editor pesan ditampilkan status singkat, seperti ini:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is ahead of 'origin/master' by 26 commits.
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: Showcase/src/com/gigantt/BorderArea.mxml
# modified: Showcase/src/com/gigantt/Client.mxml
# modified: Showcase/src/com/gigantt/GraphItem.mxml
#
Bagaimana saya dapat mengubah git untuk menunjukkan juga perbedaan yang harus dilakukan? Saya sadar bahwa ini mungkin perbedaan yang lama, tapi tetap .. sangat berguna.
git diff --cached
memproduksinya, tetapi mengapa menjalankan perintah terpisah jika Anda menginginkannya setiap saat?Jawaban:
The
--verbose
(atau-v
) flag untukgit commit
akan menampilkan diff dari apa yang akan dilakukan:git commit --verbose
sumber
Reputasi tidak cukup untuk mengirim balasan atas jawaban Alan, tetapi untuk Idan dan siapa pun saya baru saja mencobanya dan baris diff dalam pesan komit tidak dikomentari secara eksplisit. Namun, mereka masih belum muncul di pesan komit terakhir, syukurlah.
$ git commit --verbose
Di editor saya:
(perhatikan kurangnya
#
sebelumnya garis diff)Dan kemudian pesan komit yang sebenarnya:
Jelas,
git show
masih akan menunjukkan perbedaan, tetapi itu karena selalu dilakukan untuk komit. :)sumber
# ------------------------ >8 ------------------------
- saya berasumsi bahwa git secara otomatis menghapus semua yang muncul setelahnya.git config --global commit.verbose true
Cara termudah untuk memastikan perilaku ini selalu ada adalah dengan menambahkan bagian ini ke
git config
file Anda :Anda mungkin perlu mengkonfigurasi editor Anda agar benar-benar ditampilkan dalam mode diff (untuk penyorotan sintaks). Saya menggunakan Notepad2 sebagai pengganti Windows Notepad, dan
-s diff
mengatur skema warna dengan tepat (merah untuk garis yang dihapus, dll.):sumber
Saya telah meletakkan baris berikut di .git / hooks / prepared-commit-msg untuk mendapatkan perbedaan yang dikomentari:
Dengan cara ini Anda tidak hanya dapat mengomentari perbedaan, tetapi juga menambahkan lebih banyak info (seperti opsi stat ).
Edit: Juga git commit --verbose tidak menyertakan diff ke pesan komit cara ini akan dilakukan tanpa #s.
sumber
# ------------------------ >8 ------------------------
Anda dapat menemukan lebih banyak git-scm.com/docs/git-commit#git-commit-scissorsJika Anda ingin selalu melihat perbedaan saat Anda berkomitmen, Anda dapat menambahkan yang berikut ini ke
~/.gitconfig
file Anda :sumber
git config --global alias.commit 'commit -v'
dan alias ditambahkan seperti yang Anda sarankan - hanya secara otomatis. Saya membuat alias lain bernamacv
yang berfungsi seperti yang diharapkan. Versi git saya adalah 2.5.0 seperti yang dikemas di Ubuntu 15.10.git config --global commit.verbose true