Commit/Push. Сохранение изменений и отправка изменений на сервер.
Сохранение изменений
Все файлы добавлены в Staging Area и Git начал их отслеживать. Теперь можно сделать первый коммит.
Каждый коммит сохраняет актуальное состояние файлов, и вы можете сравнивать разные состояния от коммита к коммиту. Пока что коммиты будут сохранены локально, на вашем компьютере, и доступны только вам.
Отправим коммит и сопроводим его комментарием.
Для этого есть команда git commit (англ. commit, «бросить в бой»). Ключ -m (от англ. message, «послание») дает возможность снабдить коммит примечанием, которое пишется в кавычках после ключа:
Скопировать кодBASH
git commit -m "My first commit"
В комментариях описывайте, какие изменения были сделаны в коммите, иначе через неделю вы уже не вспомните, что и зачем было написано. Git понимает кириллицу, но комментировать по-английски — хороший тон: глобализация.
После нажатия [Enter] коммит будет сохранён и появится отчёт:
Скопировать кодBASH
[master (root-commit) ab98382] My first commit
1 files changed, 1 insertions(+), 0 deletions(-)
Здесь в первой строке вы видите свой комментарий "My first commit", а перед ним, в квадратных скобках, информация о коммите:
master — название ветви, в которой сделан коммит (о ветвлении поговорим позднее);
root-commit (англ. «корневой коммит») — означает, что этот коммит самый первый. Продолжая работу в той же папке, вы больше не увидите этого сообщения.
контрольная сумма или "хеш" — уникальный идентификатор, присвоенный коммиту. Для удобства коммиты идентифицируются по первым семи символам контрольной суммы. В нашем примере это ab98382.
Ниже информация о файлах коммита:
- изменён один файл (1 files changed),
- в изменённых файлах добавлена 1 строка, и ни одна не удалена (1 insertions(+), 0 deletions(-) ),
В директории проекта создайте новый файл .gitignore и добавьте в него текст README.md. Сделайте это обычными средствами — через любой текстовый редактор и Проводник или Finder.
А теперь, уже через bash, сделайте коммит с комментарием "Added .gitignore file".
Изменение сделанного коммита
Добавляя в репозиторий новый файл, можно не делать новый коммит. Достаточно добавить изменения к последнему коммиту. Для этого есть опция --amend (англ. amend, «исправить»):
git commit --amend -m "Текст вашего комментария".
Эта команда добавит изменённые файлы в последний сделанный коммит, а с дополнительным флагом -m ещё и обновит комментарий:
Скопировать кодBASH
git commit -m "First commit: change program.py"
git add
git commit
Пора на сервер
Все сделанные коммиты сохранены локально, на вашем компьютере. Чтобы ваша работа стала доступна вашим коллегам (а на Практикуме — код-ревьюерам и наставникам), нужно отправить изменения на сервер, куда есть доступ у всей команды.
Для отправки локальных изменений на сервер GitHub, выполните команду
Скопировать кодBASH
git push
Git запомнил, откуда вы клонировали репозиторий, и поэтому не нужно указывать, куда именно отправлять изменения.
На сленге эту операцию называют «запушить» (от англ. push, «протолкнуть»).
Готово! Теперь ваши изменения смогут увидеть все, кто имеет доступ к репозиторию.
Игнорирование файлов
Не всё в рабочей папке нужно отслеживать: некоторые файлы и директории не нужно видеть даже в списке неотслеживаемых файлов. Для этого в Git есть отличный инструмент.
Ранее мы уже создали в корне проекта текстовый файл .gitignore. В macOS и Linux файлы, название которых начинается с точки — скрытые.
Достаточно указать в нём название директории или имя файла, и Git перестанет их видеть. Если игнорируемый файл находится не в корне проекта, нужно указать путь до него.
В тексте файла .gitignore можно оставлять комментарии, строка комментария начинается с символа решетки #:
Скопировать кодBASH
README.md
build/side.txt
*.doc
Как одной командой сделать коммит и комментарий к нему?
Как добавить файлы к уже сделанному коммиту