17. Внесення змін до комітів

Цілі

  • Навчитися змінювати існуючі коміти.

01 Змініть сторінку, а потім зробіть коміт

Додайте в сторінку коментар автора.

Файл: hello.html

<!-- Author: Alexander Shvets -->
<html>
  <head>
  </head>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Виконайте

git add hello.html
git commit -m "Added copyright statement"
git log

Результат

$ git add hello.html
$ git commit -m "Added copyright statement"
[main e641c0e] Added copyright statement
 1 file changed, 1 insertion(+)
$ git log
e641c0e 2023-11-28 | Added copyright statement (HEAD -> main) [Alexander Shvets]
b7614c1 2023-11-28 | Added HTML header (tag: v1) [Alexander Shvets]
46afaff 2023-11-28 | Added standard HTML page tags (tag: v1-beta) [Alexander Shvets]
78433de 2023-11-28 | Added h1 tag [Alexander Shvets]
5836970 2023-11-28 | Initial commit [Alexander Shvets]

02 Ой... необхідний email

Однак після створення коміту ви розумієте, що будь-який хороший коментар повинен включати електронну пошту автора. Оновіть сторінку hello.html, включивши в неї email.

Файл: hello.html

<!-- Author: Alexander Shvets (alex@githowto.com) -->
<html>
  <head>
  </head>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

03 Змініть попередній коміт

Ми дійсно не хочемо створювати окремий коміт тільки заради електронної пошти. Змінімо попередній коміт, включивши в нього адресу електронної пошти.

Виконайте

git add hello.html
git commit --amend -m "Added copyright statement with email"

Результат

$ git add hello.html
$ git commit --amend -m "Added copyright statement with email"
[main 9288a33] Added copyright statement with email
 Date: Tue Nov 28 05:51:38 2023 -0600
 1 file changed, 1 insertion(+)

04 Перегляд історії

Виконайте

git log

Результат

$ git log
9288a33 2023-11-28 | Added copyright statement with email (HEAD -> main) [Alexander Shvets]
b7614c1 2023-11-28 | Added HTML header (tag: v1) [Alexander Shvets]
46afaff 2023-11-28 | Added standard HTML page tags (tag: v1-beta) [Alexander Shvets]
78433de 2023-11-28 | Added h1 tag [Alexander Shvets]
5836970 2023-11-28 | Initial commit [Alexander Shvets]

Ми можемо побачити, що оригінальний коміт «автор» замінений на коміт «автор/email». Цього ж ефекту можна досягти шляхом відкочування останнього коміту в гілці, і повторного коміту нових змін.