Как начать работать с 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. https://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. Качаем последнюю версию с официального сайта (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 открывается каталог репозиториев, в котором можно искать по множеству других критериев, в том числе по языкам программирования, популярности и т.п.Резюмируя хочется сказать, что если вы начинающий разработчик, планирующий начать пользоваться системами контроля версий, или же более опытный и присматривающийся к распределенным VCS, но не знающий как начать, то есть смысл попробовать git, используя такой замечательный инструмент как github.com.

Полезные ссылки

Для работы с git:code.google.com/p/msysgit/ git для windowswww.syntevo.com/smartgit/index.html SmartGitcode.google.com/p/tortoisegit/ TortoiseGit http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTYПро git на русском:habrahabr.ru/blogs/Git/106912/ «Удачная модель ветвления для git» — перевод хорошей англоязычной статьиgithowto.com/ интерактивный курс по работе с git из консолиhabrahabr.ru/blogs/Git/106912/ «Почему git» + обсуждениеhabrahabr.ru/blogs/development/68341/ «Git для переходящих с SVN» + обсуждениеhabrahabr.ru/blogs/Git/75990/ «Командная работа в git» + обсуждениеprogit.org/book/ru/ русский перевод книги «Pro Git» (переведено не до конца)habrahabr.ru/blogs/Git/123111/ инструкция-шпаргалка для начинающихlos-t.livejournal.com/tag/git%20guts цикл постов «внутренности git»lib.custis.ru/%D0%9B%D0%B8%D0%BD%D1%83%D1%81_%D0%A2%D0%BE%D1%80%D0%B2%D0%B0%D0%BB%D1%8C%D0%B4%D1%81_%D0%BE_GIT_%D0%BD%D0%B0_Google_Talks Линус Торвальдс о githabrahabr.ru/blogs/Git/80909/ книга «Волшебство git» Про git на английском:книги

видео

другое


http://habrahabr.ru/post/125799/

Губарь Маргарита Александровна