Найти в Дзене

Git. Фиксируем и удаляем изменения.

Оглавление

Фиксируем

После того как вы проиндексировали файлы в рабочем каталоге, с помощью команды git add, необходимо зафиксировать их. Для этого используется команда git commit. Вызов этой команды без параметров, откроет текстовый редактор, выбранный по умолчанию (обычно устанавливается переменной $EDITOR, а так же его можно установить с помощью команды git config --global core.editor). В редакторе можно будет увидеть следующее содержание

-2

Это закомментированный результат работы команды git status. Здесь можно все удалить и написать свое описание коммита, либо оставить все как есть. Если вызвать команду git commit с параметром -v, то в описание добавится еще и результат команды git diff.

Еще один способ добавить описание коммита, это добавить его после параметра -m, например

$ git commit -m 'add file1 and .gitignore'
[master 714cc29] add file1 and .gitignore
2 files changed, 7 insertions(+)
create mode 100644 .gitignore

После создания коммита, можно видеть сообщение о том, на какую ветку выполнен коммит (master), какая контрольная сумма SHA1 у этого коммита (714сс29), сколько файлов было изменено, а так же статистику сколько строк добавили или удалили.

Учитывайте только, что коммит сохраняет проиндексированные файлы. Файлы, которые не были добавлены в индекс, не будут закоммичены. И если они не добавлены в .gitignore, будут маячить в выводе git status.

Но, если вы не хотите каждый раз использовать команду git add, можно добавить параметр -a к git commit, и файлы будут автоматически проиндексированы.

Удаление

Чтобы удалить файл из проиндексированных, пользуются командой git rm. Эта команда также удалит файл из вашего рабочего каталога, так что вы не увидите его, как неотслеживаемый.

Если файл после индексации просто удалить командой rm, он все равно попадет в следующий коммит. Поэтому, если вы так сделали, то необходимо будет еще почистить запись командой git rm.

Еще одна полезная функция, которая Вам может пригодиться. Допустим Вы забыли добавить, какой-нибудь большой ненужный файл в .gitignore и проиндексировали его. Не переживайте его можно еще убрать от следующего коммита, оставив при этом его в рабочем каталоге, следующей командой

$ git rm --cached filename

Заключение

Вот мы сделали еще маленький шаг в изучении Git. Теперь знаем, как сохранить изменения, и удалить случайно проиндексированные файлы. Но мы на этом не остановимся. Эта СУВ очень мощный и интересный инструмент. Так что не пропускайте мои новые статьи на эту тему. Подписывайтесь здесь и в телеге.