Git и GitHub работа через терминал.
Источник
Знакомство с Git и GitHub: руководство для начинающих. Часть 1.
Знакомство с Git и GitHub: руководство для начинающих. Часть 2.
Что такое Git и GitHub?
Git — это система управления версиями, которая пришлась по душе практически всем — от разработчиков до дизайнеров. GitHub можно считать соцсетью для хранения кода. Это настоящая Мекка для технарей. Здесь вы можете попрактиковаться в разработке и придумать что-то свое, найти множество open-source проектов, передовых технологий, различных функций и дизайнов.
На GitHub вы учитесь и участвуете в других проектах, храните код для работы или учебы, берете код других проектов и вникаете во все детали. А еще вы можете создавать сайты бесплатно напрямую из репозитория!
Для начала необходимо запомнить следующие терминальные команды:
git clone
git status
git add
git commit -m “ “
git push
Затем к ним добавим еще вот эти:
git init
git branch
git merge
git checkout
Эти команды вам пригодятся в случае, если вы будете работать с другими людьми или захотите внести какие-то изменения в проект и протестировать их до создания коммита.
Не лишней будет и вот такая команда:
git help
Шаг 1: Регистрация и установка
Зайдите на GitHub и создайте свой аккаунт. В принципе, этим можно и ограничиться. При желании можете установить Git. Но для работы с GitHub это вовсе не обязательно. Однако если вы планируете заниматься проектами на локальном компьютере, то установка вам все-таки нужна.
Теперь перейдите в терминал, и начнем работу. Если хотите задать одно имя пользователя для всех репозиториев на компьютере, то напишите:
git config — global user.name “<ваше_имя>”
замените <ваше_имя> на свое имя в кавычках. Можете написать все, что угодно. Если хотите задать имя только для одного репозитория, то удалите из команды слово global.
Теперь напишите свой адрес электронной почты. Проследите, чтобы он совпадал с адресом, указанным при регистрации на GitHub.
git config — global user.email “<адрес_почты@email.com>”
При желании можете скрыть свой электронный адрес. Это сделать несложно, подробнее написано здесь. По сути, вам нужно проставить 2 галочки в своем GitHub-аккаунте.
Шаг 2: Работу с Git из терминала.
Если у вас есть директория проекта, то просто перейдите в терминал, а в самой директории проекта выполните команду
git init
Если хотите инициализировать проект со всеми файлами из директории проекта, то выполните команду
git init
Допустим, в вашем проекте есть папка new_project. Вы можете перейти в нее из окна терминала и добавить локальный репозиторий. Это делается через следующую команду:
cd new_project
git init
В вашем проекте появилась новая скрытая директория с названием.git. Именно здесь Git хранит все, что ему нужно для отслеживания проекта. Теперь вы можете последовательно добавлять файлы в область подготовки:
git add <имя_первого_файла>
или добавьте сразу все файлы через:
git add .
Создать коммит с этими изменениями можно через команду:
git commit -m “<сообщение_коммита>”
Если изменения вас устраивают, напишите:
git push
и отправьте эти изменения в репозиторий. Проверить, есть ли изменения для отправки, можно в любое время по команде:
git status
При внесении изменений следует обновить и сами файлы:
git add <имя_файла>
или
git add — all
Создайте коммит, добавьте нужное сообщение и отправьте этот коммит в репозиторий.
Вот и все! Теперь вы можете инициализировать репозиторий, создавать коммиты с файлами и сообщениями, а также отправлять коммиты в ветку master.
Шаг 3: Учимся работать с другими.
Рабочий процесс на GitHub
Допустим, у вас есть проект с кучей разных идей и возможностей для дальнейшей реализации. Что-то из этого уже готово, а над чем-то еще стоит потрудиться. Вполне возможно, что вы сотрудничаете с другими пользователями, которые работают над чем-то своим. Здесь и пригодится ветвление!
Ветка — это отдельное место для реализации новых идей. Изменения в ветке не затронут основную ветку master до тех пор, пока вы сами этого не захотите. То есть с отдельной веткой вы делаете что угодно, а затем просто сливаете эти изменения с основной веткой master.
Единственная ветка, которая может изменять проект, — это master. Если вы не хотите вносить изменения сразу, то выделите их отдельной веткой, а затем сливайте с master.
Если вы работаете с другими и хотите внести собственные изменения либо работаете над проектом и хотите изменить что-то, не затрагивая master, то создавайте отдельную ветку. Сделать это можно в любое время.
Очень удобно создавать в терминале ветку с названием new_feature (новая опция) и переходить в нее по команде:
git checkout -b new_feature
Вносить изменения в ветку можно сразу после ее создания. Использование отдельных веток с подходящими названиями позволяет сразу понять, что именно изменялось и почему. Каждый новый коммит следует снабжать комментарием, описывающим суть изменений.
Теперь поговорим о переключении между ветками:
git checkout
Команда позволяет «заглянуть» в репозиторий, который в данный момент не открыт. Например, вы можете перейти в ветку master:
git checkout master
или открыть ветку new_feature:
git checkout new_feature
По завершению работы с веткой можно слить эти изменения с master, чтобы их увидели другие.
git merge new_feature
Эта команда берет все изменения в ветке new_feature и добавляет их в ветку master.
Вы можете отправить изменения в репозиторий и установить удаленную ветку (например, new_feature) в качестве «отслеживаемой»:
git push — set-upstream origin new_feature
Допустим, вы внесли какие-то изменения. Эти изменения вас устраивают, и вы хотите создать запрос на принятие изменений (Pull request). В Pull request ваши коллеги смогут проверить внесенные изменения и обсудить их. Pull request можно создавать по любому поводу, будь то внесение конечных изменений или просьба о помощи в решении какой-либо проблемы.
Шаг 4: Обновление и слияние
Если вы хотите работать с самой свежей версией репозитория на локальном компьютере, то можно получать изменения с GitHub через git pull. Для обновления локального репозитория до последнего коммита выполните в рабочей директории следующую команду:
git pull
Для слияния какой-то ветки с вашей активной веткой воспользуйтесь:
git merge <имя_ветки>
Git старается автоматически сливать изменения, однако это не всегда возможно. Иногда возникают конфликты слияния. Если такое произошло, то необходимо разрешить конфликт слияния вручную. После внесения нужных изменений отметьте их в качестве «объединенных» или «слитых» через git add <имя_файла>. Просмотреть изменения до слияния можно по команде:
git diff <исходная_ветка> <целевая_ветка >
Перейти к ветке master можно через:
git checkout master
После слияния последних изменений обязательно удалите эту ветку через команду:
git branch -d new_feature
Другие пользователи не увидят вашу ветку, пока она не будет отправлена на удаленный репозиторий. Для отправки ветки в репозиторий выполните следующую команду:
git push origin <ветка>
Подборка полезных команд
Для начала, вот вам шпаргалка по GitHub, где перечислены все самые полезные Git-команды.
Просмотр истории коммита в репозитории:
git log
Просмотр коммитов одного пользователя:
git log — author=<имя>
Просмотр непроиндексированных изменений:
git diff
Сложно запомнить нужные команды? Получите подсказку из 21 самой популярной команды:
git help
Либо почитайте разъяснения по использованию определенных команд. Например, вот эта команда показывает, как пользоваться clone:
git help clone
Статья написана 19.12.2020.