Що являє собою commit
Що таке commit у Git?
Команда git commit використовується для збереження змін у репозиторії. Після того як ви внесли зміни до індексу за допомогою git add , git commit створює новий коміт, фіксуючи зміни та зберігаючи їх в історії репозиторію.
Додайте файли до індексу за допомогою git add :
$ git add file1.txt file2.txt$ git commit -m "Додані нові файли"Важливі зауваження:
- Кожен коміт Git має унікальний ідентифікатор, який можна використовувати для посилання на нього.
- Повідомлення комміта (-m прапор) є коротким описом ваших змін. Хороші повідомлення коммітів допомагають розуміти, що було змінено та чому.
- Якщо ви хочете внести зміни до останнього комміту (наприклад, додати забутий файл), ви можете використовувати git commit --amend .
Про мітку
`git commit` – це команда Git для запису індексованих змін до репозиторію. Використовуйте цю мітку для позначення всіх питань, пов'язаних із створенням, редагуванням та внутрішньою структурою коммітів у Git.
Загальні відомості
git commit – це команда для запису індексованих змін у репозиторій Git.
Перш ніж створювати черговий комміт, необхідно проіндексувати файли у робочій області за допомогою команди git-add. Новий коміт включатиме поточні стани індексованих файлів плюс останні збережені стани неіндексованих (але відстежуваних) файлів. Зверніть увагу: комміт включає не зміни (дельти, патчі) щодо попереднього комміту, а "знімок" (англ. shapshot) поточного стану робочої області.
Кожному комміту відповідає код, що створюється Git за алгоритмом Secure Hash Alrorithm 1. Він залежить від вмісту комміту, автора та часу створення.Таким чином, коміт з тим самим вмістом, створений в інший час, має інший sha1 . Git використовує sha1 для того, щоб розрізняти комміти (та інші об'єкти) між собою.
Використання
Створити новий коміт:
git commit -m'повідомлення' Включити нові зміни до останнього створеного комітету
git commit --amend [-m'повідомлення'] Не створювати коміт, а лише показати звіт та детальну інформацію про нього, начебто він був створений. (Використовується для перевірки помилок перед реальним коммітом).
Показати відомості про останні виконані коміти:
Часті питання
Рекомендовані до прочитання питання
Документація
У російськомовній документації використовуються такі терміни:
- to commit - виконати коміт (можна "закоммітити", але тільки в мовленні, не в документації)
- commit - коміт
Російською мовою:
Англійською мовою:
Git commit
Команда git commit робить для проекту знімок поточного стану змін, доданих до розділу проіндексованих файлів. Такі підтверджені знімки стану можна розглядати як «безпечні» версії проекту — Git їх не змінюватиме, поки ви явно не попросите про це. Перед виконанням команди git commit необхідно використати команду git add, щоб додати до проекту («проіндексувати») зміни, які будуть збережені у коміті. Ці дві команди, git commit і git add, використовуються найчастіше.
Коміт у Git та коміт у SVN
Незважаючи на однакову назву, команда git commit не має нічого спільного з командою svn commit. Цей загальновживаний термін може заплутати новачків у Git, які мають досвід роботи з SVN, тому важливо підкреслити різницю.Різниця між git commit і svn commit — це різниця між моделлю централізованого додатка (SVN) і моделлю розподіленого додатка (Git). стани виконуються в локальний репозиторій, і для цього зовсім не потрібно взаємодіяти з іншими Пізніше коміти Git можна буде передати в будь-який віддалений репозиторій.
Порядок дій
Не вдаючись до подробиць, Git можна розглядати як утиліту керування тимчасовою шкалою — основні конструктивні елементи тимчасової шкали проекту Git. стану проекту на поточний момент часу. Коміти знімків стану Git завжди виконуються в локальний репозиторій. У цьому і полягає фундаментальна відмінність від SVN, де коміт робочої копії виконується в центральний репозиторій. буфером між робочим каталогом та історією проекту, так і локальний репозиторій розробника буфером між його вкладом у проект та центральним репозиторієм.
Це змінює базову модель розробки для користувачів Git. Замість того, щоб вносити зміни та виконувати комміти безпосередньо в центральний репозиторій, розробники Git можуть накопичувати коміти у своєму локальному репозиторії.Такий підхід має безліч переваг порівняно із спільною роботою в стилі SVN: він спрощує поділ функції на дрібні коміти, об'єднання пов'язаних коммітів та очищення локальної історії перед її публікацією у центральному репозиторії. Він також дозволяє розробникам працювати в ізольованому середовищі, відкладаючи інтеграцію доти, доки їхні напрацювання не будуть готові до злиття з напрацюваннями інших користувачів. Але хоча ізоляція та відкладена інтеграція зручні з погляду одного розробника, при командній роботі бажано виконувати інтеграцію часто й маленькими блоками. Для отримання додаткових рекомендацій щодо спільної роботи в Git читайте, як команди розробників структурують свій робочий процес у Git.