Він використовується для запису змін у сховищі. Це наступна команда після git add . Кожен коміт містить дані індексу та повідомлення коміту. Кожен комміт формує стосунки «батько-нащадок». Коли ми додаємо файл у Git, він буде розміщений у проміжній області. Команда commit використовується для отримання оновлень із проміжної області до сховища.
Постановка та вчинення пов’язані одне з одним. Постановка дозволяє нам продовжувати вносити зміни до сховища, і коли ми хочемо поділитися цими змінами з системою контролю версій, фіксація дозволяє нам записати ці зміни.
Коміти – це знімки проекту. Кожен коміт записується в головну гілку репозиторію. Ми можемо відкликати коміти або повернути його до старішої версії. Два різні коміти ніколи не будуть перезаписані, тому що кожен коміт має власний ідентифікатор коміту. Цей ідентифікатор коміту є криптографічним номером, створеним SHA (алгоритм безпечного хешування) алгоритм.
Давайте розглянемо різні типи комітів.
Команда git commit
Команда commit зафіксує зміни та згенерує ідентифікатор фіксації. Команда commit без будь-яких аргументів відкриє текстовий редактор за замовчуванням і запитає повідомлення про фіксацію. Ми можемо вказати наше повідомлення коміту в цьому текстовому редакторі. Він працюватиме наступним чином:
$ git commit
Наведена вище команда запропонує редактор за замовчуванням і запитає повідомлення про фіксацію. Ми внесли зміни до новий файл1.txt і хочуть, щоб воно це здійснило. Це можна зробити наступним чином:
Розглянемо наведений нижче результат:
Коли ми виконуємо команду, вона запропонує текстовий редактор за замовчуванням і запитає повідомлення про фіксацію. Текстовий редактор матиме наступний вигляд:
Натисніть вихід ключ і після цього ' я ' для режиму вставки. Введіть будь-яке повідомлення коміту. Прес вихід після того ' :wq ', щоб зберегти та вийти з редактора. Отже, ми успішно зробили зобов’язання.
Ми можемо перевірити коміт за допомогою команди git log. Розглянемо наведений нижче результат:
Ми бачимо у вихідних даних вище, що параметр журналу відображає ідентифікатор коміту, відомості про автора, дату й час, а також повідомлення коміту.
Щоб дізнатися більше про опцію журналу, відвідайте Журнал Git .
Git commit -a
Команда commit також надає -а опція для визначення деяких комітів. Він використовується для фіксації знімків усіх змін. Цей параметр розглядає лише вже додані файли в Git. Він не зафіксує новостворені файли. Розглянемо наведений нижче сценарій:
Ми внесли деякі оновлення в наш уже поставлений файл newfile3 і створили файл newfile4.txt. Перевірте стан сховища та виконайте команду commit наступним чином:
$ git commit -a
Розглянемо результат:
Наведена вище команда запропонує наш текстовий редактор за замовчуванням і запитає повідомлення про фіксацію. Введіть повідомлення фіксації, а потім збережіть і вийдіть із редактора. Цей процес зафіксує лише вже додані файли. Він не зафіксує файли, які не були проіндексовані. Розглянемо наведений нижче результат:
Як ми бачимо у вихідних даних вище, newfile4.txt не було зафіксовано.
Git commit -m
Параметр -m команди commit дозволяє вам написати повідомлення commit у командному рядку. Ця команда не запропонує текстовому редактору. Він працюватиме наступним чином:
$ git commit -m 'Commit message.'
Наведена вище команда виконає фіксацію з даним повідомленням фіксації. Розглянемо наведений нижче результат:
У наведеному вище висновку a новий файл4.txt закріплюється в нашому репозиторії за допомогою повідомлення про фіксацію.
Ми також можемо використовувати -ам опція для вже створених файлів. Ця команда негайно здійснить фіксацію для вже створених файлів із повідомленням про фіксацію. Він працюватиме наступним чином:
$ git commit -am 'Commit message.'
Git Commit Amend (змінити повідомлення коміту)
Параметр змінити дозволяє редагувати останній комміт. Якщо випадково ми закоммітували неправильне повідомлення коміту, то ця функція є для нас невигідним варіантом. Він працюватиме наступним чином:
$ git commit -amend
Наведена вище команда запропонує текстовий редактор за замовчуванням і дозволить нам редагувати повідомлення коміту.
Нам можуть знадобитися деякі інші важливі операції, пов’язані з фіксацією, як-от повернення фіксації, скасування фіксації тощо, але ці операції не є частиною команди фіксації. Ми можемо зробити це за допомогою інших команд. Ось деякі важливі операції:
- Git undo commit: відвідайте Git Reset
- Git revert commit: відвідайте Git Revert
- git remove commit: відвідайте Git Rm