- Учебное пособие по Git + GitHub. Основы GitHub на Mac 💻
- В статье подробно рассказывается, как создать удаленный репозиторий на GitHub и как работать с GitHub локально и синхронизировать все изменения.
- Подготовка к работе 🤓
- Настройка Git
- Создать удаленный репозиторий
- Создать и настроить
- Страница репозитория
- Рабочая папка для проектов
- Клонирование удаленного репозитория
- Синхронизировать локальные изменения с удаленным репозиторием GitHub
- Изменения в проекте
- Git Flow
- Информация о статусе команды git
- команды git add и git commit
- git add (добавить)
- commit git
- git push
- Обновлять локальный репозиторий после изменений проекта на GitHub
- Редактирование файлов проекта на сайте удаленного репозитория
- Обновление локального репозитория
- 📌 Список команд для работы Терминала с Git и GitHub
Учебное пособие по Git + GitHub. Основы GitHub на Mac 💻
В статье подробно рассказывается, как создать удаленный репозиторий на GitHub и как работать с GitHub локально и синхронизировать все изменения.
☝🏻 Этот материал подойдет тем, кто уже знает, зачем нужны Git и GitHub, но еще не использовал их.
Всего за 15-20 минут (время на чтение и повторение описанных шагов) они научиться:
- ✅ работать с Git в терминале на macOS
- ✅ создавать удаленные репозитории на GitHub
- ✅ и особенно подключать локальные репозитории к удаленным
Этот материал я собрал из различных туториалов и руководств по различным git-сервисам. Я выбрал лучшее, удалил лишнее и портировал на GitHub и Mac. Чтобы получить максимальную пользу за минимальное время.
По мере прочтения рекомендуется сразу повторять описанные шаги. Так вы лучше усвоите материал, создадите аккаунты в нужных системах и попрактикуетесь в работе в Терминале и на GitHub.
Подготовка к работе 🤓
Для работы вам понадобится:
- Учетная запись GitHub
- Терминал (предустановлен в macOS)
- Git — можно установить отсюда
☝🏻 Для систем Git есть несколько графических клиентов. На гитхабе есть свой. Позже вы можете выбрать и использовать один из них, но в этом уроке Терминал используется для лучшего погружения и практики.
Настройка Git
Если вы раньше не использовали Git, сначала необходимо зарегистрироваться как системный пользователь: добавьте имя пользователя и адрес электронной почты в систему. Запустите Терминал и выполните сразу две команды (имя и адрес электронной почты вводятся без скобок):
Для проверки можно использовать эти команды, чтобы показать, какие данные вводятся в систему:
Терминал не должен быть закрыт, работу необходимо будет продолжить.
Создать удаленный репозиторий
Удаленный репозиторий на GitHub — это облако, в котором хранятся файлы проекта и история их изменений. Локально это просто папка проекта на вашем компьютере.
Репозитории GitHub используются для различных целей:
- для обмена кодом и другой информацией (например, списком классных вещей в Telegram)
- Совместная разработка, обсуждение и управление проектами (не только связанными с кодом, например картой навыков и развитием командного лидерства)
- и даже при выполнении задач (в встроенный таск-трекер)
При этом непосредственная работа с кодом и файлами ведется локально, в папках проекта на компьютере. Для этого папки привязываются к удаленным репозиториям.
Процедура следующая:
- создаем проект на github.com
- клонируем на компьютер
☝🏻 Можно и в обратном порядке, но последовательность больше подходит для новичков.
Лучше всего для каждого проекта создавать отдельный репозиторий на Github. Ниже описано, как создать удаленный репозиторий и локальную папку для тестового проекта hello-world и как их синхронизировать.
Создать и настроить
Новый репозиторий на GitHub можно создать, нажав + в правом верхнем углу и выбрав в раскрывающемся меню Новый репозиторий:
Откроется страница настройки нового репозитория (скриншот ниже) где:
- вводится имя репозитория
- добавляется краткое описание проекта (необязательно)
- выбирается тип репозитория
☝🏻 На GitHub есть два типа репозиториев: общедоступные (будут видны всем на странице вашей учетной записи, и каждый сможет писать коммиты), частные (будут видны только вам и тем, кому вы предоставляете доступ в настройках репозитория).
- Добавлен файл README (Инициализируйте этот репозиторий с помощью флажка README)
☝🏻 Общедоступные репозитории обычно добавляют файл README файл с описанием проекта. Описание в поле Описание будет добавлено к файлу. И вся информация об этом файле будет отображаться на странице проекта.
- при необходимости можно добавить файл .gitignore (это уже сложнее для проектов и не рассматривается в рамках данного материала)
- добавляются лицензии, если необходимо (например, для используемых шрифтов)
После такой элементарной настройки теперь можно создать репозиторий ⟶ зеленая кнопка Создать репозиторий.
Страница репозитория
На открытой странице созданного репозитория все необходимое для проекта можно найти на вкладке Код. Сразу отображается содержимое файла README.
.
Во время сборки проект имеет файл README.md, коммит (запись о том, что репозиторий создан) и ветка (основная ветка master ).
☝🏻 Для работы с продуктом или аналитикой часто бывает достаточно основной ветки master. Другие филиалы создаются для комплексных проектов или для сотрудничества. Использование других веток будет рассмотрено в отдельной статье. Не забудьте нажать «Подписаться».
Рабочая папка для проектов
Скорее всего у вас уже есть папка для проектов. Если вы еще этого не сделали, поверьте. Затем вам нужно будет перейти к нему в Терминале (описано ниже).
☝🏻 Нет необходимости создавать папку для самого проекта, он клонирован с GitHub.
Работа с файлами и папками изначально более привычна в Finder. Вы можете быстро перейти непосредственно к папке проекта (после ее создания) в Терминале прямо из Finder, щелкнув правой кнопкой мыши папку проекта ⟶ Services ⟶ New Terminal по адресу папки.
Откроется вкладка Terminal с нужным нам адресом.
Клонирование удаленного репозитория
Если вы хотите работать с проектом локально и при этом синхронизировать все изменения на удаленный репозиторий, вам необходимо клонировать проект GitHub.
Для этого нажмите кнопку Clone или Download на странице проекта GitHub и скопируйте адрес репозитория.
Затем в Терминале (на вкладке, открытой из Finder) выполните следующую команду (используя URL-адрес, скопированный без скобок):
После завершения команды терминал отобразит сделано: Папка проекта, которую вы клонировали с GitHub, появилась в папке проект на компьютере. Теперь вы можете работать с проектом локально: создавать файлы, редактировать их и синхронизировать все изменения с удаленным репозиторием.
Привязка нового проекта на GitHub к папке проекта на вашем компьютере:
- создайте проект на GitHub (новый репозиторий) и скопируйте его url
- перейдите в терминале в общую папку для проектов (не нужно создавать папку для самого проекта)
- clone GitHub project — git clone (URL без скобок)
☝🏻 Таким образом вы можете скопировать любой проект с Github на свой компьютер
Синхронизировать локальные изменения с удаленным репозиторием GitHub
Изменения в проекте
Чтобы продемонстрировать синхронизацию, я внесу два изменения:
- Исправьте файл README
- Я добавлю изображение в папку проекта
Повторите эти шаги, чтобы привыкнуть к Git.
Добавлена строка «Мой первый коммит» в Файл README.md. Допущена опечатка, которая будет исправлена позже, когда мы рассмотрим возможность изменения файлов в репозитории GitHub.
В папку проекта добавлено изображение project-page.png (один скриншотов в этом посте).
Git Flow
Таким образом, локальные изменения (в этом примере обновление файла и добавление изображения) синхронизируются в удаленный репозиторий вы должны сначала добавить их, затем зафиксировать, а затем отправить.
Основные действия — это зафиксировать и отправить. а git add — это просто вспомогательная команда для фиксации/добавления изменений.
☝🏻 Коммит — это точка сохранения вашего проекта, к которой вы можете вернуться, если что-то пойдет не так (например, сохранение в игре). Эти сохранения синхронизируются между локальным и удаленным хранилищем.
Push — это внесение локальных зафиксированных изменений в проект в удаленном репозитории.
Подробная информация о каждом действии: ниже.
Информация о статусе команды git
Все манипуляции с проектом производятся в папке проекта. Для этого вам нужно открыть его в Терминале. Вы можете использовать описанный выше метод (щелкните правой кнопкой мыши папку в Finder). Либо, если папка проектов уже открыта в Терминале, можно перейти в папку проекта с помощью команды (имя папки проекта вводится без скобок):
команды git add и git commit
В Терминале перейдите в папку проекта (все изменения проекта вносятся в папку проекта). Для отслеживания изменений используйте команду:
📌 Все команды используемые git и github с их описанием будут перечислены в отдельном блоке в конце материала.
Чтобы отслеживать изменения в проекте, используйте команду:
☝🏻 Вам не обязательно использовать git status, но приятно знать, что это возможно, и вы в любой момент может увидеть информацию о статусе проекта.
Результатом работы команды является вывод информации о проекте. Неотмеченные изменения выделены красным цветом. Структура информации следующая:
- На ветке master — указана текущая ветка
☝🏻 Это будет быть полезным при работе с большим количеством ветви.
- Изменения не готовы к фиксации: есть не готовые изменения (отредактировано: README.md)
- Неотслеживаемые файлы: есть новые файлы (project-page.png)
- не знаю добавленные изменения для фиксации: пока ничего не нужно коммитить
Сразу в скобках git подсказывает, что делать дальше: используйте git add…
git add (добавить)
Команда git add записывает (добавляет) изменения в папку проекта. В больших проектах при изменении файла обычно просто добавляется (имя файла с расширением, без скобок):
Следующая команда проверит (добавит) все изменения сразу. Вы всегда можете использовать его в небольших проектах, потому что. проще и быстрее:
Вы можете снова запустить git status, чтобы убедиться, что все изменения были добавлены (это необязательно).
commit git
Для создания коммита и добавления к нему комментария используется расширенная команда (комментарий пишется как в примере, в кавычках):
☝🏻 Обязательства обычно делаются после какого-то блока изменений: был добавлен/перезаписан блок кода или новый блок информации. Обязательства хорошо сопровождаются описанием внесенных изменений.
Теперь статус git больше не показывает изменений. И что в ветку не добавляется фиксация.
git push
Для отправки локальных изменений в удаленный репозиторий с помощью команды git push. Или его расширенная версия с указанием ветки, в которую отправляются изменения:
☝🏻 Когда вы впервые используете git push, Git сообщит вам, что запросит имя пользователя и пароль вашей учетной записи GitHub. При вводе пароля символы не отображаются и курсор не перемещается; это нормально, просто введите все и нажмите Enter. Если пароль введен без ошибок, все будет работать.
В статусе git теперь будет указано, что новых изменений нет (нечего фиксировать) и нечего фиксировать.
Теперь проект Github обновлен: здесь показаны все изменения, которые были сделаны локально: добавлена фиксация, добавлен файл, изменен README.
Вы хотите — если после изменения проекта вы отправляете локальные модификации в удаленный репозиторий, вам следует:
- зайти в Терминал в папку самого проекта
- проверить изменения — git добавить .
- создать коммит — git commit -m «Comment»
- Отправить коммит на GitHub — git push source master
☝🏻 Использовать команду git status
для отслеживания статуса изменений проекта
Обновлять локальный репозиторий после изменений проекта на GitHub
Бывает, что файлы проекта редактируются прямо на GitHub. Или кто-то из участников проекта протолкнул новые изменения. В обоих случаях вам необходимо загрузить эти изменения и обновить локальный репозиторий.
Редактирование файлов проекта на сайте удаленного репозитория
Чтобы продемонстрировать синхронизацию, я отредактирую файл README на github.com .
☝🏻 Все изменения в удаленном репозитории являются коммитами. Эти. сохранение изменений в файл сразу добавляет коммит в проект на GitHub.
GitHub используется для редактирования встроенный редактор файлов. Процедура следующая:
- В файл вносятся изменения;
- Добавлено описание подтверждения;
- Подтверждение сохранено.
После сохранения фиксация добавляется в проект, и все изменения применяются немедленно.
GitHub хранит историю всех коммитов и подробную информацию о них. Если вы перейдете к любому коммиту, вы увидите, какие изменения были сделаны. Удаленные строки выделены красным цветом, добавленные строки выделены зеленым цветом.
Обновление локального репозитория
Чтобы обновить локальный репозиторий, после любого изменения в проект на GitHub, в Терминале (он должен находиться в папке проекта) используйте команду:
В результате выполнения команды Терминал отобразит изменения, которые мы загружаем из удаленного репозитория. После выполнения команды git pull все файлы проекта на компьютере обновляются до состояния удаленного репозитория. Вы можете убедиться в этом, проверив файл REAMDE в папке вашего локального проекта.
Чтобы обновить проект на вашем компьютере после изменения проекта на GitHub, вам необходимо:
- в Терминале, находясь в папке проекта запустить git push
📌 Список команд для работы Терминала с Git и GitHub
Источник