GitHub. Сохранение и отправка изменений на сервер

Сохранение изменений

Все файлы добавлены в Staging Area и Git начал их отслеживать. Теперь можно сделать первый коммит. Каждый коммит сохраняет актуальное состояние файлов, и вы можете сравнивать разные состояния от коммита к коммиту. Пока что коммиты будут сохранены локально, на вашем компьютере, и доступны только вам.Отправим коммит и сопроводим его комментарием. Для этого есть команда git commit (англ. commit, «бросить в бой»). Ключ -m (от англ. message, «послание») дает возможность снабдить коммит примечанием, которое пишется в кавычках после ключа:

git commit -m "My first commit"
# сделали первый коммит
# текст комментария: "My first commit"
# комментарии лучше писать латиницей 

В комментариях описывайте, какие изменения были сделаны в коммите, иначе через неделю вы уже не вспомните, что и зачем было написано. Git понимает кириллицу, но комментировать по-английски — хороший тон: глобализация. После нажатия [Enter] коммит будет сохранён и появится отчёт:

[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 ещё и обновит комментарий:

# делаем первый коммит, в кавычках пишем комментарий
git commit -m "First commit: change program.py"

# добавили файлы в индекс Git
git add --all

# добавили эти файлы к предыдущему коммиту
git commit --amend -m "First commit: new files added" 

Пора на сервер

Все сделанные коммиты сохранены локально, на вашем компьютере. Чтобы ваша работа стала доступна вашим коллегам (а на Практикуме — код-ревьюерам и наставникам), нужно отправить изменения на сервер, куда есть доступ у всей команды. Для отправки локальных изменений на сервер GitHub, выполните команду

git push 

Git запомнил, откуда вы клонировали репозиторий, и поэтому не нужно указывать, куда именно отправлять изменения. На сленге эту операцию называют «запушить» (от англ. push, «протолкнуть»).Готово! Теперь ваши изменения смогут увидеть все, кто имеет доступ к репозиторию.

Игнорирование файлов

Не всё в рабочей папке нужно отслеживать: некоторые файлы и директории не нужно видеть даже в списке неотслеживаемых файлов. Для этого в Git есть отличный инструмент.Ранее мы уже создали в корне проекта текстовый файл .gitignore. В macOS и Linux файлы, название которых начинается с точки — скрытые.Достаточно указать в нём название директории или имя файла, и Git перестанет их видеть. Если игнорируемый файл находится не в корне проекта, нужно указать путь до него.В тексте файла .gitignore можно оставлять комментарии, строка комментария начинается с символа решетки #:



# игнорировать файл README.md
README.md

# игнорировать файл side.txt в директории build
build/side.txt

# игнорировать все файлы с расширением .doc
*.doc 


Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: