Jawaban:
Anda memiliki setidaknya 5 cara berbeda untuk melihat komit yang saat ini Anda periksa ke copy pekerjaan Anda selama git bisectsesi ( perhatikan bahwa opsi 1-4 juga akan berfungsi ketika Anda tidak melakukan pembagian dua ):
git show.git log -1.git status.git bisect visualize.Saya akan menjelaskan setiap opsi secara terperinci di bawah ini.
Sebagaimana dijelaskan dalam jawaban ini untuk pertanyaan umum tentang bagaimana untuk menentukan komit saat ini Anda telah memeriksa-out (tidak hanya pada saat git bisect), Anda dapat menggunakan git showdengan -spilihan untuk Patch keluaran menekan:
$ git show --oneline -s
a9874fd Merge branch 'epic-feature'
Anda juga bisa melakukannya git log -1untuk mengetahui komit yang sedang Anda ikuti.
$ git log -1 --oneline
c1abcde Add feature-003
Di Git versi 1.8.3+ (atau apakah ini versi yang lebih lama?), Jika Anda memiliki Bash prompt Anda yang dikonfigurasi untuk memperlihatkan cabang saat ini Anda telah memeriksa ke dalam copy pekerjaan Anda, maka itu juga akan menunjukkan kepada Anda komit saat ini yang telah Anda periksa keluar selama sesi dua bagian atau ketika Anda berada dalam kondisi "KEPALA terpisah". Dalam contoh di bawah ini, saya saat ini telah c1abcdememeriksa:
# Prompt during a bisect
user ~ (c1abcde...)|BISECTING $
# Prompt at detached HEAD state
user ~ (c1abcde...) $
Juga pada Git versi 1.8.3+ (dan mungkin sebelumnya, sekali lagi tidak yakin), menjalankan git statusjuga akan menunjukkan kepada Anda komit apa yang telah Anda periksa selama dua bagian dan ketika Anda berada dalam status HEAD yang terpisah:
$ git status
# HEAD detached at c1abcde <== RIGHT HERE
Terakhir, saat Anda melakukan a git bisect, Anda juga dapat menggunakan git bisect visualizeatau alias bawaannya git bisect viewuntuk diluncurkan gitk, sehingga Anda dapat melihat secara grafis komit yang Anda aktifkan , serta komit yang telah Anda tandai sebagai buruk dan baik sejauh ini. Saya cukup yakin ini ada sebelum versi 1.8.3, saya tidak yakin versi mana yang diperkenalkan:
git bisect visualize
git bisect view # shorter, means same thing

git statustidak menampilkan id komit kecuali Anda dalam keadaan terpisah. kalau tidak tertulis "Di cabang apa pun ". git showberfungsi
Anda bisa melakukannya:
git rev-parse HEAD
Untuk menjelaskan sedikit lebih jauh: git rev-parseadalah perintah dasar git untuk menafsirkan salah satu cara eksotis yang dapat Anda tentukan nama komit dan HEADmerupakan referensi untuk komit atau cabang Anda saat ini. (Dalam sebuah git bisectsesi, itu menunjuk langsung ke sebuah komit ("KEPALA terlepas") daripada cabang.)
Atau (dan lebih mudah diingat) adalah dengan hanya melakukan:
git show
... yang secara default menunjukkan komit yang HEADmenunjuk ke. Untuk versi yang lebih ringkas, Anda dapat melakukan:
$ git show --oneline -s
c0235b7 Autorotate uploaded images based on EXIF orientation
git rev-parse HEADtidak memerlukan pemrosesan vs semua alternatif sampah.
KEPALA $ git rev-parse 273cf91b4057366a560b9ddcee8fe58d4c21e6cb
Memperbarui:
Atau (jika Anda memiliki tag):
(Bagus untuk memberi nama versi, tidak terlalu bagus untuk meneruskan kembali ke git.)
$ git jelaskan v0.1.49-localhost-ag-1-g273cf91
Atau (seperti yang disarankan Markus, daftar di sini untuk kelengkapan):
$ git show --oneline -s c0235b7 Autorotate mengunggah gambar berdasarkan orientasi EXIF
Jika Anda ingin mengekstraksi hanya sepotong informasi sederhana, Anda bisa menggunakannya git showdengan --format=<string>opsi ... dan memintanya untuk tidak memberi Anda perbedaan --no-patch. Ini berarti Anda bisa mendapatkan keluaran gaya printf dari apa pun yang Anda inginkan, yang mungkin sering berupa bidang tunggal.
Misalnya, untuk mendapatkan hash yang disingkat ( %h) Anda bisa mengatakan:
$ git show --format="%h" --no-patch
4b703eb
Jika Anda ingin menyimpannya ke variabel lingkungan di bash (kemungkinan yang ingin dilakukan orang), Anda dapat menggunakan $()sintaks :
$ GIT_COMMIT="$(git show --format="%h" --no-patch)"
$ echo $GIT_COMMIT
4b703eb
Daftar lengkap yang dapat Anda lakukan ada digit show --help . Tapi di sini daftar properti yang disingkat yang mungkin berguna:
%H melakukan hash%h disingkat melakukan hash%T hash pohon%t hash pohon disingkat%P hash induk%p hash induk disingkat%an nama penulis%ae email penulis%at tanggal penulis, cap waktu UNIX%aI tanggal penulis, format ISO 8601 yang ketat%cn nama pengendara%ce email komuter%ct tanggal committer, cap waktu UNIX%cI tanggal committer, format ISO 8601 yang ketat%s subyek%f baris subjek yang disanitasi, cocok untuk nama file%gD pemilih reflog, misalnya, ref / simpanan @ {1}%gd pemilih reflog yang dipersingkat, misalnya, simpanan @ {1}showtidak memiliki apa pun untuk cabang .
git log -p -S <search>melakukan pekerjaan itu.