13. Створення тегів версій

Цілі

  • Дізнатися, як створювати теги для коммітів, що будуть використані в майбутньому

Давайте назвемо поточну версію сторінки hello першою (v1).

01 Створіть тег першої версії

Виконайте:

git tag v1

Тепер поточна версія сторінки називається v1.

02 Теги для попередніх версій

Давайте створимо тег для версії, яка йде перед поточною версією і назвемо його v1-beta. У першу чергу нам треба переключитися на попередню версію. Замість пошуку по хешу, ми будемо використовувати ^, що означає «батько v1».

Якщо позначення v1^ викликає у вас якісь проблеми, спробуйте також v1~1, яке вказує на ту саму версію. Це позначення можна визначити як «перша версія до v1».

Виконайте:

git checkout v1^
cat hello.html

Результат:

$ git checkout v1^
Note: checking out 'v1^'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 8c32287... Added standard HTML page tags
$ cat hello.html
<html>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Це версія з тегами <html> та <body>, але поки що без <head>. Давайте зробимо її версією v1-beta.

Виконайте:

git tag v1-beta

03 Перемикання за ім'ям тегу

Тепер спробуйте поперемикатися між двома зазначеними версіями.

Виконайте:

git checkout v1
git checkout v1-beta

Результат:

$ git checkout v1
Previous HEAD position was 8c32287... Added standard HTML page tags
HEAD is now at fa3c141... Added HTML header
$ git checkout v1-beta
Previous HEAD position was fa3c141... Added HTML header
HEAD is now at 8c32287... Added standard HTML page tags

04 Перегляд тегів за допомогою команди tag

Ви можете побачити, які теги доступні, використовуючи команду git tag.

Виконайте:

git tag

Результат:

$ git tag
v1
v1-beta

05 Перегляд тегів у логах

Ви також можете подивитися теги у лозі.

Виконайте:

git hist master --all

Результат:

$ git hist master --all
* fa3c141 2011-03-09 | Added HTML header (v1, master) [Alexander Shvets]
* 8c32287 2011-03-09 | Added standard HTML page tags (HEAD, v1-beta) [Alexander Shvets]
* 43628f7 2011-03-09 | Added h1 tag [Alexander Shvets]
* 911e8c9 2011-03-09 | First Commit [Alexander Shvets]

Ви можете бачити теги(v1 і v1-beta) у лозі разом з ім'ям гілки(master). Крім того HEAD показує коміт, на який ви перемикнулися (зараз це v1-beta).