Github как пользоваться mac os

Как начать работать с GitHub: быстрый старт

Распределенные системы контроля версий (DVCS) постепенно замещают собой централизованные. Если вы еще не используете одну из них — самое время попробовать.

В статье я постараюсь показать, как можно быстро начать экспериментировать с git, используя сайт github.com.

В статье не будут рассмотрены различия между разными DVCS. Также не будет детально рассматриваться работа с git, по этой теме есть множество хороших источников, которые я приведу в конце статьи.

Итак, сайт github.com позиционируется как веб-сервис хостинга проектов с использованием системы контроля версий git, а также как социальная сеть для разработчиков. Пользователи могут создавать неограниченное число репозиториев, для каждого из которых предоставляется wiki, система issue tracking-а, есть возможность проводить code review и многое другое. GitHub на данный момент является самым популярным сервисом такого рода, обогнав Sourceforge и Google Code.

Для open-souce проектов использование сайта бесплатно. При необходимости иметь приватные репозитории, есть возможность перейти на платный тарифный план:

Начнем с регистрации. Идем по ссылке github.com/signup/free и вводим свои данные.
После регистрации мы попадаем на Dashboard нашего аккаунта:

Сейчас у нас нет ни одного репозитория, и мы можем либо создать новый репозиторий, либо ответвиться (fork) от уже существующего чужого репозитория и вести собственную ветку разработки. Затем, при желании, свои изменения можно предложить автору исходного репозитория (Pull request).

Но для начала установим git и настроим его для работы с сайтом.

Если вы работаете в Windows, качаем и устанавливаем msysgit. Это консольная версия git для Windows (далее расказ будет вестись на примере этой ОС).
Инструкция для MacOS X (eng)
Инструкция для Linux (eng)
Проблем возникнуть не должно, просто везде жмем Next. После установки выбираем в контекстном меню Проводника Git Bash:

или через Git Bash.lnk в папке с установленой программой:

Прописываем в консоли свои данные и настройки переносов строк:
git config —global user.name «ваше имя»
git config —global user.email «ваша почта»
git config —global core.autocrlf true
git config —global core.safecrlf true

Кстати, рекомендую пройти неплохой интерактивный курс по использованию git из консоли. Курс проходится за несколько часов и дает необходимые базовые навыки.

Для тех, кто предпочитает gui — для Windows существует несколько таких инструментов для работы с git. Два основных — это SmartGit (кроссплатформенный) и TortoiseGit. Оба неплохие, и какой использовать — дело вкуса. Я опишу работу с TortoiseGit.
Для маков выбор giu тоже имеется.

  • официальный клиент от GitHub — на мой взгляд пока достаточно сыроват.
  • GitX — лично мне не приглянулся
  • GitBox — наиболее следует mac-way, очень рекомендую попробовать именно его

Качаем по ссылке code.google.com/p/tortoisegit/downloads/list. При установке везде жмем Next.

Теперь возвращаемся к github и создадим новый репозиторий. Находясь на Dashboard, жмем New Repository (https://github.com/repositories/new), вводим данные и жмем Create Repository.

GitHub позволяет работать с репозиториями тремя способами: SSH, HTTP и Git Read-Only, соответственно предоставляя ссылки трех видов для нашего репозитория:
1. git@github.com:habrauser/Hello-world.git
2. habrauser@github.com/habrauser/Hello-world.git
3. git://github.com/habrauser/Hello-world.git

Для того, чтобы просто забрать репозиторий на локальную машину, достаточно внутреннего протокола git (третья ссылка). Это наиболее быстрый и эффективный способ, который обеспечивает анонимный доступ только для чтения.

Если же мы захотим внести изменения в репозиторий на github, нужно пользоваться HTTP или SSH.
Работа по http никаких трудностей не вызывает, в нужный момент просто используется пароль учетной записи на github.

Чтобы использовать SSH, нам нужно создать специальную пару ключей: публичный и приватный. Публичный будет размещен в настройках аккаунта на github, а приватный сохранен на локальной машине.

Для генерации ключей, можно воспользоваться инструментом ssh-keygen, который идет в комплекте с git (описание этого способа можно почитать тут). Мы же будем использовать PuTTY (а точнее небольшую программку puttygen, входящую в его состав). PuTTY — это такой клиент для удаленного доступа, в том числе и с использованием SSH.

Читайте также:  Медленно работает wifi windows 10

Качаем последнюю версию с официального сайта (http://www.chiark.greenend.org.uk/

sgtatham/putty/download.html). Кстати, puttygen более старой версии (2007 год) идет в составе TortoiseGit.

После установки PuTTY, запускаем puttygen из папки с установленной программой:

Жмем Generate, двигаем некоторое время курсором мыши, для получения случайных данных, необходимых алгоритму

Вводим пароль, защищающий наш приватный ключ в поле Key passphrase, вводим подтверждение, жмем Save private key, сохраняем.

Далее копируем публичный ключ в формате OpenSSH из текстовой области «Public key for pasting. » и идем в настройки нашего аккаунта на github (Account Settings) в раздел SSH Public Keys:

жмем Add another public Key, вставляем наш публичный ключ:

нажимаем Add key. Все, теперь мы готовы работать с github по ssh. Попробуем забрать наш пустой рерозиторий на локальную машину с использованием TortioшseGit. В контекстном меню проводника выбираем Git Clone…

В поле Url вставляем SSH-адрес нашего репозитория, в поле Load Putty Key указываем путь к нашему приватному ключу, жмем OK.

Pageant запросит у наc пароль для приватного ключа (потом этого делать не потребуется)

Pageant — это агент SSH-аутентификации в составе PuTTY, он позволяет управлять закрытыми ключами.
В трее висит его значек:

Репозиторий успешно склонирован на локальную машину

Теперь попробуем изменить локальный репозиторий и отправить изменения на github. Добавим в локальный репозиторий файл README (файл с именем README обрабатывается github специальным образом — его содержимое будет отображаться в качестве описания репозитория на соответствующей странице)

Закоммитим изменения в локальный репозиторий

и синхронизируем его с репозиторием на github:

нажимаем Push

Теперь зайдя на страницу нашего репозитория мы увидим следующее:

Для каждого репозитория сайт предлагает wiki:

а также простую систему issue tracking-a:

кстати, для тех, кто использует в работе Eclipсe — есть соответствующий mylyn-коннектор для github:

и плагин EGit:

По ссылке Explore GitHub открывается каталог репозиториев, в котором можно искать по множеству других критериев, в том числе по языкам программирования, популярности и т.п.

Источник

Git + GitHub tutorial. Основы работы с GitHub на mac 💻

В статье подробно рассматривается как создать удалённый репозиторий на GitHub и как работать с GitHub локально, синхронизируя все изменения.

Jun 11, 2019 · 10 min read

☝🏻 Этот материал подойдёт тем, кто уже знает, зачем нужны Git и GitHub, но ещё не пользовался ими.

Всего за 15–20 минут (время прочтения и повторения описанных действий) вы научитесь:

  • ✅ работать с Git в Терминале на macOS
  • ✅ создавать удалённые репозитории на GitHub
  • ✅ и главное — связывать локальные репозитории с удалёнными

Я собрал этот материал из нескольких курсов и гайдов для разных git-сервисов. Выбрал лучшее, убрал лишнее и адаптировал его для GitHub и mac. Так что вы получите максимум пользы, за минимум времени.

По мере прочтения, рекомендуется сразу повторять описанные шаги. Так вы лучше усвоите материал, заведёте аккаунты в нужных системах и получите практику работы в Терминале и с GitHub.

Подготовка к работе 🤓

Для работы потребуются:

  • аккаунт на GitHub
  • Терминал (предустановлен на macOS)
  • Git — можно установить отсюда

☝🏻 Для систем Git есть различные графические клиенты. У GitHub есть свой. Позже, вы сможете выбрать и использовать один из них, но в этой инструкции, для лучшего погружения и практики, используется Терминал.

Настройка Git

Если вы ещё не пользовалис ь Git, то для начала необходимо зарегистрироваться как пользователь системы — добавить в систему Имя пользователя и e-mail. Запустите Терминал, и выполните поочерёдно две команды (имя и имейл вписываются без скобок):

Для проверки можно воспользоваться этими командами, они покажут какие данные внесены в систему:

Терминал закрывать не надо, он потребуется для дальнейшей работы.

Создание удалённого репозитория

Удалённый репозиторий на GitHub — это облако, в котором хранятся файлы проекта и история их изменений. Локально же — это просто папка проекта на компе.

Репозитории на GitHub используются для самых разных целей:

  • расшаривания кода и другой информации (например, список интересного в телеграм)
  • совместной разработки, обсуждения и ведения проектов (не только связанных с кодом, например, карта навыков и развития тим-лида)
  • и даже для ведения тасок (во встроенном таск-треккере)

При этом, работа непосредственно с кодом и файлами, ведётся локально — в папках проектов на компе. Для этого, папки связываются с удалёнными репозиториями.

Порядок действий такой:

  • создаётся проект на github.com
  • клонируется на комп

☝🏻 Можно делать и наоборот, но приведённая последовательность больше подходит для новичков.

Для каждого проекта лучше создавать отдельный репозиторий на Github. Ниже описано создание удалённого репозитория и локальной папки для тестового проекта hello-world, и их синхронизация.

Читайте также:  Как с помощью cmd запустить windows

Создание и настройка

Новый репозиторий на GitHub можно создать, нажав в правом верхнем углу на + и выбрав New repository в выпадающем меню:

Откроется страница настройки нового репозитория (скрин ниже), на которой:

  • вводится имя репозитория
  • добавляется краткое описание проекта (не обязательно)
  • выбирается тип репозитория

☝🏻 На GitHub есть два типа репозиториев — Public (будет виден всем, на странице вашего аккаунта, и все смогут писать коммиты), Private (будет виден только вам и тем, кому вы предоставите доступ в настройках репозитория).

  • добавляется файл README (чекбокс Initialize this repository with a README)

☝🏻 Для Public репозиториев принято добавлять файл README с описанием проекта. В файл добавится описание из поля Description. А вся информация из этого файла будет отображаться на странице проекта.

  • при необходимости можно добавить файл .gitignore (это уже для проектов посложнее, и в рамках этого материала не рассматривается)
  • при необходимости, добавляются лицензии (например, на используемые шрифты)

После такой элементарной настройки, уже можно создать репозиторий ⟶ зелёная кнопка Create repository.

Страница репозитория

На открывшейся странице созданного репозитория, всё что нам нужно по проекту, находится на вкладке Code. Тут же выводится содержание файла README.

На момент создания, у проекта есть один файл README.md, один commit (запись о факте создания репозитория) и одна ветка (главная ветка master).

☝🏻 Для работы продакта, или аналитика, зачастую, достаточно основной ветки master. Дополнительные ветки создаются для сложных проектов, или для совместной работы. Использование дополнительных веток будет рассмотрено в отдельном материале. Не забудьте нажать Follow.

Рабочая папка для проектов

Скорее всего, у вас уже есть папка для проектов. Если ещё нет, то создайте. Далее, необходимо будет перейти в неё в Терминале (описано ниже).

☝🏻 Папку самого проекта создавать не нужно, она клонируется из GitHub.

На начальном этапе, работать с файлами и папками привычнее в Finder. Быстро перейти сразу в папку для проектов (после её создания) в Терминале, можно прямо из Finder, правым кликом по папке для проектов ⟶ Службы ⟶ Новая вкладка Терминала по адресу папки.

Откроется вкладка Терминала с нужным нам адресом.

Клонирование удалённого репозитория

Чтобы работать с проектом локально, и при этом, все изменения синхронизировать с удалённым репозиторием, необходимо клонировать GitHub-проект.

Для этого на странице проекта на GitHub необходимо нажать кнопку Clone or download и скопировать адрес репозитория.

Далее, в Терминале (в той вкладке, которая открылась из Finder) выполняется команда (используя скопированный URL без скобок):

По завершению отработки команды, Терминал выдаст done — папка проекта, которую мы клонировали с GitHub появилась в папке для проектов на компе. Теперь можно работать с проектом локально — создавать файлы, редактировать их и все изменения синхронизировать с удалённым репозиторием.

Чтобы связать новый проект на GitHub с папкой проекта на компе, надо:

  • создать проект на GitHub (новый репозиторий) и скопировать его УРЛ
  • перейти в Терминале в общую папку для проектов (папку самого проекта создавать не надо)
  • клонировать проект с GitHub — git clone (URL без скобок)

☝🏻 Таким способом можно скопировать любой проект с Гитхаба себе на комп

Синхронизация локальных изменений с удалённым репозиторием на GitHub

Изменения в проекте

Для демонстрации синхронизации я сделаю два изменения:

  • скорректирую файл README
  • добавлю картинку в папку проекта

Повторите эти действия, для наработки навыка использования Git.

В файл README.md добавлена строка “My furst commit”. Сделана опечатка, которая будет исправлена позже, когда будет рассматриваться изменение файлов в репозитории GitHub.

В папку проекта добавлена картинка project-page.png (один из скриншотов из этого поста).

Git flow

Чтобы локальные изменения (в данном примере — обновление файла и добавление картинки) синхронизировались с удалённым репозиторием, необходимо их сначала добавить, потом закоммитить, а потом запушить.

Основные действия — это коммит и пуш. А git add — всего лишь служебная команда для регистрации/добавления изменений.

☝🏻 Commit — это точка сохранения проекта, в которую можно будет вернуться, если что-то пойдёт не так (как сохранение в игре). Эти сохранения и синхронизируются между локальным и удалённым репозиториями.

Push — это внесение закоммиченых локальных изменений в проект на удалённом репозитории.

Подробно о каждом действии — далее.

Информационная команда git status

Все манипуляции с проектом делаются в папке проекта. Для этого, необходимо открыть её в Терминале. Можно использовать приведённый выше способ (правый клик по папке в Finder). Или, если в Терминале уже открыта папка для проектов, можно переместиться в папку проекта командой (имя папки проекта вписывается без скобок):

Читайте также:  Pandora приложение для windows

Команды git add и git commit

В Терминале перейдём в папку проекта (все изменения с проектом делаются в папке проекта). Для отслеживания изменений используется команда:

📌 Все используемые git и github команды с их описанием будут приведены в отдельном блоке в конце материала.

Для отслеживания изменений в проекте используется команда:

☝🏻 git status можно не использовать, но хорошо знать, что такая возможность есть, и можно в любой момент посмотреть информацию о состоянии проекта.

Результат работы команды — вывод информации о проекте. Незарегистрированные изменения выделены красным. Структура информации следующая:

  • On branch master — указана текущая ветка

☝🏻 Это будет полезно при работе с несколькими ветками.

  • Changes not staged for commit — есть незарегистрированные изменения (modified: README.md)
  • Untracked files — есть новые файлы (project-page.png)
  • no changes added to commit — в данный момент нечего коммитить

Тут же, в круглых скобках git сам даёт подсказки, что можно делать дальше: use git add …

git add (добавить)

Командой git add регистрируются (добавляются) изменения в папке проекта. В больших проектах, при изменении одного файла, обычно добавляют только его (имя файла с расширением, без скобок):

Следующая команда регистрирует (добавляет) сразу все изменения. В небольших проектах можно всегда использовать её, т.к. это проще и быстрее:

Чтобы убедиться, что все изменения добавлены, можно снова выполнить git status (это не обязательно).

git commit (закоммитить)

Для создания коммита, и добавления к нему комментария используется расширенная команда (комментарий пишется как в примере — в кавычках):

☝🏻 Коммиты, обычно, делаются после какого то блока изменений — добавлен/переписан блок кода, или новый блок информации. Коммиты хорошо сопровождать описанием о проделанных изменениях.

Теперь git status показывает, что изменений больше нет. И что есть один коммит, не добавленный в ветку.

git push (запушить)

Чтобы запушить локальные изменения на удалённый репозиторий, используется команда git push . Или её расширенный вариант, с указанием ветки, куда пушатся изменения:

☝🏻 При первом использовании git push , Git запросит логин и пароль от аккаунта на GitHub. При вводе пароля, никакие символы не появляются и курсор не сдвигается — это нормально, просто введите полностью и нажмите энтер. Если пароль введён без ошибок — всё сработает.

В git status , теперь будет информация, что никаких новых изменений нет (nothing to commit), и коммитить нечего.

Теперь проект на Гитхабе актуальный — тут отобразились все изменения, которые были сделаны локально: добавился один commit, добавился файл, изменился README.

Чтобы после изменения проекта, отправить локальные правки на удалённый репозиторий, надо:

  • перейти в Терминале в папку самого проекта
  • зарегистрировать изменения — git add .
  • создать коммит — git commit -m «Комментарий»
  • запушить коммит на GitHub — git push origin master

☝🏻 Для отслеживания статуса изменений в проекте используется команда git status

Обновление локального репозитория, после изменений проекта на GitHub

Бывает так, что файлы проекта правятся прямо на сайте GitHub. Или кто-то из участников проекта запушил новые изменения. В обоих случаях, необходимо получить эти изменения и обновить локальный репозиторий.

Редактирование файлов проекта на сайте удалённого репозитория

Для демонстрации синхронизации я изменю файл README на github.com.

☝🏻 Все изменения в удалённом репозитории являются коммитами. Т.е. при сохранении изменений файла, сразу добавляется коммит в проекте на GitHub.

Для редактирования файлов на сайте GitHub используется встроенный редактор. Порядок действий такой:

  1. Вносятся изменения в файле;
  2. Добавляется описание коммита;
  3. Сохраняется коммит.

После сохранения, коммит добавляется в проект и сразу примеряются все изменения.

На Гитхабе хранится история всех коммитов и подробная информация по ним. Если зайти в любой коммит, можно посмотреть какие правки были сделаны. Удалённые строки подсвечиваются красным, добавленные — зелёным.

Обновление локального репозитория

Для обновления локального репозитория, после любых изменений проекта на Гитхабе, в Терминале (надо находится в папке проекта) используется команда:

В результате выполнения команды, в Терминале отображаются изменения, которые мы забираем с удалённого репозитория. По завершению работы команды git pull , все файлы проекта на компе обновляются до состояния удалённого репозитория. Можно убедиться в этом, проверив файл REAMDE в локальной папке проекта.

Чтобы после изменения проекта на Гитхабе, актуализировать проект на компе, надо:

  • в Терминале, находясь в папке проекта выполнить git push

📌 Список команд для работы в Терминале с Git и GitHub

Источник

Оцените статью