Відповіді:
У вас є щонайменше 5 різних способів перегляду комісії, яку ви зараз перевірили, у вашій робочій копії під час git bisectсеансу ( зауважте, що параметри 1-4 також працюватимуть, коли ви не виконуєте бісект ):
git show.git log -1.git status.git bisect visualize.Я детально поясню кожен варіант нижче.
Як пояснюється в цій відповіді на загальне питання про те , як визначити , які здійснюють Ви в даний час витягнута ( а не тільки під час git bisect), ви можете використовувати git showз -sпараметром для придушення виходу патча:
$ git show --oneline -s
a9874fd Merge branch 'epic-feature'
Ви також можете просто зробити, git log -1щоб дізнатись, на якому комітеті ви зараз перебуваєте.
$ git log -1 --oneline
c1abcde Add feature-003
У Git версії 1.8.3+ (чи це була більш рання версія), якщо у вас є запит Bash, налаштований так, щоб відображати поточну гілку, яку ви перевірили, у своїй робочій копії, то вона також покаже вам поточну комісію, яку ви перевірили під час сеансу бісектриси або коли ви перебуваєте в стані "відірваної голови". У наведеному нижче прикладі я c1abcdeперевірив:
# Prompt during a bisect
user ~ (c1abcde...)|BISECTING $
# Prompt at detached HEAD state
user ~ (c1abcde...) $
Так само, як і для версії Git 1.8.3+ (можливо, і раніше, знову не впевнений), біг git statusтакож покаже вам, яку комісію ви перевірили під час біссекта та коли ви перебуваєте в окремому стані HEAD:
$ git status
# HEAD detached at c1abcde <== RIGHT HERE
Нарешті, хоча ви робите це git bisect, ви також можете просто використовувати git bisect visualizeабо його вбудований псевдонім git bisect viewдля запуску gitk, так що ви можете графічно переглянути, на який ви зобов’язані виконувати, а також які зобов'язання ви позначили як погані та хороші досі. Я впевнений, що це існувало задовго до версії 1.8.3, я просто не впевнений, у якій версії він був введений:
git bisect visualize
git bisect view # shorter, means same thing

git statusне показує вам ідентифікатор фіксації, якщо ви не знаходитесь у відірваному стані. інакше написано "На гілку все ". git showпрацює хоча
Ви можете просто зробити:
git rev-parse HEAD
Щоб пояснити трохи далі: git rev-parseце основна команда git для інтерпретації будь-якого з екзотичних способів, за допомогою яких ви можете вказати ім'я комітету, і HEADє посиланням на ваш поточний комітет чи гілку. (У ході git bisectсеансу він вказує безпосередньо на команду ("відокремлену головку"), а не на гілку.)
Альтернативно (і простіше запам’ятати) було б просто зробити:
git show
... що за замовчуванням показує зобов'язання, на яке HEADвказує. Для більш стислої версії ви можете зробити:
$ git show --oneline -s
c0235b7 Autorotate uploaded images based on EXIF orientation
git rev-parse HEADне потрібно обробляти проти всіх альтернатив сміття.
$ git rev-розбір HEAD 273cf91b4057366a560b9ddcee8fe58d4c21e6cb
Оновлення:
Як варіант (якщо у вас є теги):
(Добре для іменування версії, не дуже добре для повернення до git.)
$ git описуйте v0.1.49-localhost-ag-1-g273cf91
Або (як запропонував Марк, перелічивши тут для повноти):
$ git show --oneline -s c0235b7 Автообертання завантажених зображень на основі орієнтації EXIF
Якщо ви хочете отримати лише просту інформацію, ви можете отримати це за git showдопомогою --format=<string>опції ... і попросити її не дати вам різниці --no-patch. Це означає, що ви можете отримати вихід у стилі printf, що завгодно, що часто може бути одним полем.
Наприклад, щоб отримати лише скорочений хеш ( %h), ви можете сказати:
$ git show --format="%h" --no-patch
4b703eb
Якщо ви хочете зберегти це в змінній середовища в bash (можливо, люди хочуть зробити), ви можете використовувати $()синтаксис :
$ GIT_COMMIT="$(git show --format="%h" --no-patch)"
$ echo $GIT_COMMIT
4b703eb
Повний список того, що ви можете зробити, є вgit show --help . Але ось скорочений список властивостей, які можуть бути корисні:
%H зробити хеш%h скорочено фіксувати хеш%T деревний хеш%t скорочений деревний хеш%P батьківські хеші%p скорочені батьківські хеші%an ім'я автора%ae авторський електронний лист%at дата автора, часова мітка UNIX%aI авторська дата, строгий формат ISO 8601%cn ім'я виконавця%ce електронною поштою виконавця%ct дата читання, UNIX часова мітка%cI дата введення, строгий формат ISO 8601%s предмет%f санізований рядок теми, що підходить для імені файлу%gD перемикач перемикань, наприклад, refs / stash @ {1}%gd скорочений перемикач перемикань, наприклад, приховування @ {1}showдля відділення немає нічого .
git log -p -S <search>виконує цю роботу.