Як я можу зрозуміти, що в моїй поточній редакції?


167

Я просто хочу знати, який мій номер поточної версії.


Це питання я знайшов, шукаючи спосіб отримати поточну версію, щоб використовувати її в подальших командах git. Але коли я прочитав відповіді, то зрозумів: "О, чекай, мені це не потрібно, я просто можу HEADреально використовувати ".
Антуан Пінсар

Відповіді:


228

Що ви маєте на увазі під номером версії? Досить часто позначати комітку номером версії, а потім використовувати

$ git describe --tags

для ідентифікації поточної HEAD wrt будь-яких тегів. Якщо ви маєте на увазі, що хочете знати хеш поточної HEAD, ви, ймовірно, хочете:

$ git rev-parse HEAD

або для короткого перегляду хеша:

$ git rev-parse --short HEAD

Часто достатньо зробити:

$ cat .git/refs/heads/${branch-master}

але це не є надійним, оскільки посилання може бути запаковано.


8
Refs можуть бути упаковані .git/packed-refs, так що ви , ймовірно , слід уникати прямого доступу .git/refs/. Просто використовуйте git rev-parse master(або git rev-parse refs/heads/masterякщо вам потрібно бути абсолютно однозначним).
Кріс Джонсен

108

Є багато способів, git log -1це найпростіший і найпоширеніший, я думаю


1
Як зробити так, щоб файл став попередньою версією?
TIMEX

1
можливо ви хочете, щоб git checkout HEAD ^ - ім'я файлу
manojlds

2
btw, це дає
МНОГО

36

Це дає вам лише перегляд.

git rev-parse HEAD

Я думаю, що це найкраща відповідь, оскільки це не залежить від реалізації. Відповідь Вільяма "cat .git / refs / heads / master" забезпечить те саме значення, але немає гарантії, що він буде працювати в майбутньому, якщо впровадження зміниться.
Тагомізер

Погодився, це найкраща відповідь. Коротка згадка про --shortваріант зробить його ідеальним.
Боббі Джек

15

Це дає вам перші кілька цифр хеша, і вони достатньо унікальні, щоб використовувати як скажіть номер версії.

git rev-синтаксичний розбір - коротка голова


0

нижче буде працювати з будь-якою попередньо переглянутою редакцією, не тільки з ГОЛОВОЮ

для скороченого редагування хеша:

git log -1 --pretty=format:%h

для довгого перегляду хеша:

git log -1 --pretty=format:%H
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.