Войти
Все секреты компьютера для новичка и профессионала
  • Современные галереи. Галерея King’s Gallery
  • Топ‑9 настольных игр для компаний Зачем нужны такие игры
  • Скачать протанки модпак расширенная версия для wot Нужные моды в бою
  • Промокоды папа джонс на сентябрь
  • Технопоинт мобильный. О компании. Есть у торговой сети и недостатки
  • Взлом Лига Ангелов (League of Angels) на Ресурсы для Android и iOS
  • Github использование. Git для чайника. Команды которые помогут начать работу. Просмотр и одобрение запросов на слияние

    Github использование. Git для чайника. Команды которые помогут начать работу. Просмотр и одобрение запросов на слияние

    Здесь описывается практическая часть вопроса использования Git - его установка и регистрация на сервере GitHub.com.

    GitHub.com - это сервис, предлагающий хранение вашего кода и данных с использованием системы контроля версий Git . GitHub предоставляет бесплатный тарифный план для хранения 300Мб данных в открытом виде. Это значит, что любой пользователь интернета может скачать себе ваши данные. На GitHub можно разместить и закрытые для других репозитарии, заплатив 7$ в месяц. На бесплатном аккаунте GitHub, по-умолчанию, никто не сможет изменить ваши данные (могут только читать). Но вы можете настоить, кто из пользователей системы GitHub, имеет право на запись.

    В статье подробно рассказывается, как делать настройку Git в ОС Windows и в ОС Linux.

    Установка Git под Linux

    Пользователям Linux, думаю, нет смысла объяснять, как устанавливать Git - в каждой системе это делается по-разному. В системе Debian (которая стоит у меня), для установки Git, можно использовать команду:

    apt-get install git

    Установка Git под Windows

    Идем на официальную страницу Git http://git-scm.com , кликаем на Download for Windows . В открывшемся окне кликаем на Full installer for official Git . Запускаем полученный exe-шник.

    В процессе инсталляции будет задан такой вопрос:

    Я рекомендую выбрать "Run Git from the Windows Command Prompt". Все остальные опции можно оставлять по-умолчанию. После установки Git нужно перегрузиться или завершить сеанс пользователя и снова войти, чтобы применились изменения в системной переменной PATH.

    Если получаем информацию о версии, то Git установлен и работает. Если получаем информацию что программа git не найдена, разбираемся что сделали не так.

    Настройка SSH-ключей

    Перед тем, как регистрироваться на GitHub, следует вначале сгенерировать SSH-ключ шифрования. Этот ключ необходим, чтобы быстро устанавливать соединение с GitHub, не вводя пароля. Без такого ключа GitHub просто не будет работать.

    Внимание!

    В момент генерации ключа будет запрошен пароль. Это пароль доступа к закрытому ключу, который хранится только на вашей машине и нигде больше. Этот пароль задается для максимальной секьюрности, хотя можно обойтись и без него. Нужно знать, что задав пароль к закрытому ключу, нужно будет при каждом соединении с сервером GitHub вводить данный пароль. Таким образом, при задании пароля, всё удобство пользования ключами шифрования пропадает.

    Пользователям MyTetra: интерфейс работы с командной строкой, который используется для вызова git при синхронизации, не может работать на ввод символов. Поэтому, если вы зададите пароль, синхронизация работать не будет.

    Настройка SSH-ключей в Linux

    В операционной системе Linux вначале нужно заглянуть в каталог ~/.ssh . Если там есть файлы id_rsa и id_rsa.pub то это и есть SSH-ключи. Если такого каталога или таких файлов нет, то ключи нужно сгенерировать. Даем команду:

    Вместо [email protected] нужно указать свой email. В процессе генерации ключа у вас спросят куда положить файлы, в ответ просто нажимаем Enter. При запросе пароля просто нажимаем Enter. После генерации, в каталоге ~/.ssh должны появиться файлы id_rsa и id_rsa.pub , они нам пригодятся в дальнейшем.

    Настройка SSH-ключей в Windows

    В операционной системе Windows генератор SSH-ключей включен в комплект поставки Git. Для генерации ключей необходимо запустить на выполнение файл C:\Program Files\Git\Git bash.vbs . Его можно запустить как обычный exe-шник. Откроется программа "Консоль git". В ней надо дать команду:

    ssh-keygen -t rsa -C "[email protected]"

    Будьте внимательны, в этой консоли подглючивает копи-паст, прощще ввести команду вручную. В качестве email указываем свой почтовый ящик. На запрос "Enter file in which to save the key " просто нажимаем Enter. При запросе пароля "Enter passphrase " и "Enter same passphrase again " просто нажимаем Enter. В процессе генерации ключей в консоли будет выдаваться примерно следующая информация:

    Generating public/private rsa key pair.
    Enter file in which to save the key (/c/Documents and Settings/username/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /c/Documents and Settings/username/.ssh/id_rsa.
    Your public key has been saved in /c/Documents and Settings/username/.ssh/id_rsa.pub.
    The key fingerprint is:
    51:db:73:e9:31:9f:51:a6:7a:c5:3d:da:9c:35:8f:95 [email protected]

    После выполнения этой программы, в каталоге C:\Documents and Settings\username\.ssh будут лежать файлы id_rsa и id_rsa.pub , они нам пригодятся в дальнейшем.

    Регистрация на GitHub.com

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

    В верхнем меню находим пункт "Pricing and Signup " и нажимаем на него:

    Откроется страница выбора тарифного плана. Выбираем бесплатный аккаунт "Create a free account ":

    Установка SSH-ключа в GitHub

    Сразу после регистрации необходимо прописать в системе GutHub свой публичный ключ шифрования (открытый SSH-ключ). Для добавления ключа, надо в правом верхнем углу нажать "Account Settings ":

    В открывшемся окне нужно кликнуть на пункт меню "SSH Public Keys ", и нажать "Add Another Public Key ". Появится два поля - название ключа (Title ) и содержимое ключа (Key ).

    В поле Title можно написать название компьютера, на котором сгенерирован публичный ключ. Можно писать по-русски.

    В поле Key надо вставить содержимое файла id_rsa.pub . Помните, в каком каталоге они находятся? Переходим в этот каталог, открываем любым текстовым редактором файл id_rsa.pub (именно с расширением .pub , не перепутайте). Выделяем весь текст, копируем, и вставляем на странице GitHub в поле Key .

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

    Создание репозитария на GitHub

    Теперь пришло время создать свой первый репозитарий на GitHub. Репозитарий можно рассматривать просто как директорию, в которой будут лежать синхронизируемые файлы и поддиректории. Создавать репозитарий нужно в web-интерфейсе GitHub, а наполнять его файлами и работать с ним можно будет уже с помощью программы git на своем компьютере.

    Для создания репозитария, нужно в правом верхнем углу нажать "Dashboard ". В открывшемся окне вы увидите пункт "Create A Repository ":

    Так вот, этот пункт нам не нужен! Данный пункт открывает не диалог создания репозитария, а страничку помощи. Вместо клика по этому пункту, ищем ниже на странице малоприметную ссылку "Create A Repository ". Она и откроет диалог добавления нового репозитария.

    В диалоге добавления нового репозитарию нужно заполнить, как минимум, поле названия проекта "Project Name ". В названии проекта лучше не использовать кириллицу, так как имя проекта - это по факту имя директории. Для избежания проблем лучше, чтобы имя проекта содержало только латиницу. После нажатия кнопки "Create Repository ", репозитарий будет создан.

    Рабочая ссылка на репозитарий в системе GitHub формируется так. Если вы зарегистрировались под именем username , и ваш репозитарий называется reponame , то для доступа к этому репозитарию можно использовать следующие ссылки:

    В синтаксисе Git:

    [email protected]:username/reponame.git

    В синтаксисе Https:

    https://[email protected]/username/reponame.git

    Работа с репозитарием на GitHub через программу Git

    Начиная с этого момента, пляски вокруг web-интерфейса GitHub можно считать законченными. Далее можно работать только используя программу git.

    Вначале нужно сделать небольшую настройку программы git: указать локальной системе git имя пользователя и email. Это делается следующими командами, которые можно выполнить, находясь в любом каталоге:

    git config --global user.name "YourFullName"
    git config --global user.email [email protected]

    где вместо YourFullName нужно написать свое имя, а вместо [email protected] - свой email. Эти значения используются для логина на GitHub. Поэтому на месте YourFullName нужно указать ваш логин на GitHub-е, а на месте [email protected] нужно указать email, который вы вводили при генерации ключей шифрования.

    После этих настроек, можно заливать свои файлы в репозитарий. Переходим в каталог со своим проектом, и даем команды:

    git commit -a -m "first commit"

    git remote add origin [email protected]:username/reponame.git

    git push -u origin master

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

    Многим трудно начать работать с Git , ведь не все привыкли работать с командной строкой, но именно ее лучше всего использовать при работе с репозиторием Git . И сегодня я расскажу о самом простом, так сказать Git для чайника , чтобы помочь освоиться Вам с этой системой. Git представляет собой систему контроля версий, которая позволяет в нужный момент откатиться на старую версию, если вы "наломали дров ".

    С помощью Git Вы сможете размещать свой код на GitHub , BitBucket и Google Code .

    Вы всегда сможете скачать код своего проекта на компьютер, изменить его и залить обратно, чтобы он стал доступен Вашим коллегам.

    С чего начать?

    Нам понадобиться программа Git Bash , это шелл сделанный на основе Cygwin, поэтому возможно использование Unix-команд, вроде ls, cd, mkdir. Скачать его можно по следующей ссылке http://git-scm.com/ .

    Настройка Git

    Перед началом работы нам необходимо немного настроить программу. Нам нужно установить имя пользователя и электронный адрес через командную строку:

    Git config --global user.name "Ваше имя" git config --global user.email "Ваш Email"

    Также нам нужно настроить параметры установок окончания строк, для Windows мы вводим две команды

    Git config --global core.autocrlf true git config --global core.safecrlf false git config --global core.eol native

    На этом настройка заканчивается, можем начинать работу с проектом.

    Создание проекта

    Допустим у нас есть папка с проектом, которую мы хотим разместить на GitHub.

    2. Инициализируем папку для Git репозитория. Это нужно сделать только один раз для каждого проекта.

    Git init

    3. Связываем папку с удаленным репозиторием

    Git remote add origin https://github.com/LeoXCoder/test_project.git

    4. Добавляем все новые и измененные файлы

    Git add .

    5. Помечаем все новые и измененные файлы сообщением (commit )

    Git commit -m "message"

    Вместо message вписываем сообщение, например Initial Commit. или Bugfix.

    6. Закачиваем код на удаленный репозиторий

    Git push -u origin master

    в таком виде используем только первый раз, потом используем команду без флагов

    Git push

    7. Можно посмотреть статус изменений, которые были сделаны.

    Git status

    8. Для скачивания репозитория используется команда

    Git pull

    Второй компьютер

    Для использования репозитория на другом компьютере, используем следующие команды.

    1. Клонирование репозитория

    Git clone https://github.com/LeoXCoder/test_project.git

    В результате git скачает удаленный репозиторий в новую папку test-project

    2. После каких-то изменений в коде, выполняем все те же команды

    Git add . git commit -m "I changed the user module." git push

    Откат изменений

    1. Полный откат до предыдущего коммита

    Git reset HEAD --hard

    2. Сброс изменений в файле на версию коммита

    Git checkout

    3. Откат до установленного тега, например v1

    Github - это очень известная платформа для хранения, распространения и управления исходным кодом открытых проектов. Этот сервис используют множество разработчиков по всему миру, среди которых есть и крупные компании, такие как Microsoft, RedHat и множество других, также сотни разработчиков многих популярных проектов.

    Платформа предоставляет возможности не только по просмотру кода и его распространения, но также историю версий, инструменты совместной разработки, средства для предоставления документации, выпуска релизов и обратной связи. И самое интересное, что вы можете размещать на Gihub как открытые, так и приватные проекты. В этой статье мы рассмотрим как пользоваться Github для размещения своего проекта. Так сказать, github для начинающих.

    Итак, допустим, у вас есть свой проект и вы хотите разместить его код на Github в открытом доступе чтобы другие пользователи могли его посмотреть и участвовать в разработке. Первое что вам нужно сделать - создать аккаунт.

    1. Создание аккаунта

    Чтобы создать новый аккаунт на сайте откройте главную страницу GitHub и тут же сразу вы можете ввести данные для новой учетной записи. Вам нужно указать имя пользователя, Email и пароль:

    Когда завершите ввод, нажмите кнопку "Sign Up Free" :

    На следующем шаге вам нужно выбрать тип репозитория. Публичные репозитории бесплатны, но если вы хотите создать частный репозиторий, код из которого будет доступен только вам, то придется платить $7 в месяц.

    Аккаунт готов, и вы будете перенаправлены на страницу, где сможете создать свой первый проект. Но перед тем как вы сможете это сделать, нужно подтвердить свой Email адрес. Для этого откройте ваш почтовый ящик и перейдите по ссылке в письме от Github.

    Никакая настройка github не нужна, достаточно лишь несколько кликов мышкой.

    2. Создание репозитория

    На открывшейся странице, это главная страница для авторизованных пользователей, нажмите кнопку "Start a project" :

    Вы можете сразу же инициализировать репозиторий, создав файл Readme, для этого нужно отметить галочку "Initialize this repository with a README" внизу страницы. Также можно выбрать лицензию:

    Когда все будет готово, выберите "Create project" , будет создан новый проект с файлом README, в котором находится описание и файлом лицензии.


    3. Добавление веток

    Ветки Github позволяют работать с несколькими версиями проекта одновременно. По умолчанию при создании репозитория создается ветка master, это основная рабочая ветка. Можно создать дополнительные ветки, например, для того, чтобы тестировать программное обеспечение перед тем, как оно будет опубликовано в ветке master. Таким образом, можно одновременно разрабатывать продукт и предоставлять пользователям стабильную версию. Также можно создавать отдельные ветки для версии программы для разных систем.

    Текущая ветка обозначена в верхнем левом углу после слова "Branch". Чтобы создать новую ветку просто разверните этот список и начните набирать ее имя:

    Сайт сам предложит вам создать новую ветку, выберите "Create branch".

    Сразу же после создания вы будете работать с только что созданной веткой.

    4. Изменение файлов и коммиты

    Любые изменения файлов на Github делаются с помощью коммитов. Коммит выполняется путем внесения самих исправлений и описания этих исправлений. Это необходимо для того, чтобы вы знали что и когда вы меняли, а также позволяет легко отслеживать работу команды. Слово коммит можно перевести как "фиксировать". То есть мы можем внести изменения в несколько файлов, а затем их зафиксировать. Давайте для примера изменим файл README. Для этого найдите в в правой стороне панели кнопку с кисточкой и нажмите на нее:

    Откроется текстовый редактор, где вы можете ввести нужные вам исправления:

    После того как вы сделаете все что вам нужно, необходимо заполнить поле "Commit" внизу страницы. Кратко опишите что было изменено, а затем нажмите кнопку "Commit changes" :

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

    5. Создание запросов слияния (Pull Request)

    GitHub для начинающих может показаться очень сложным именно из-за таких возможностей, но это очень удобно если разобраться. Запрос слияния или Pull Request - это возможность, благодаря которой любой разработчик может попросить другого, например, создателя репозитория просмотреть его код и добавить его в основной проект или ветку. Инструмент работы с запросами слияния использует инструмент сравнения diff, поэтому вы можете увидеть все изменения, они будут подчеркнуты другим цветом. Pull Request можно создать сразу же после создания коммита. Давайте отправим Pull Request из нашей testing ветки в основную. Сначала откройте вкладку "Pull Request".

    Здесь нажмите кнопку "Create Pull Request" :

    В этом окне вы можете просмотреть все изменения, сейчас мы видим, что была добавлена строчка:

    6. Просмотр и одобрение запросов на слияние

    Теперь, на той же вкладке Pull Requests мы видим только что созданный запрос на слияние и нам остается только принять его нажав "Merge Pull Request" :

    Но если этот запрос пришел от другого человека, вы должны проверить что он там изменил и нужно ли это, для этого просто нажмите на описание запроса и увидите уже знакомое окно просмотра изменений:

    Затем код будет импортирован в основную ветку, а ветка testing может быть безопасно удалена.

    7. Отчеты об ошибках

    Удобно еще то, что возможно использование GitHub не только для разработки и управления кодом, но и для обратной связи с пользователями. На вкладке "Issue" пользователи могут оставлять сообщения о проблемах, с которыми они столкнулись при использовании вашего продукта. Откройте вкладку "Issues" , и нажмите на кнопку "New issue" :

    8. Релизы

    Последнее что мы сегодня рассмотрим - это релизы. Когда продукт достиг определенной стадии можно выпустить релиз, чтобы пользователи и вы могли быть уверенны что там все стабильно и никто ничего не сломал неверным Pull Request в Master. Сначала нужно перейти на главную страницу проекта, затем на вкладку "Releases" :

    На этой странице нужно указать версию в поле "Tag Version" , затем имя релиза и небольшое описание. Если у вас есть скомпилированные архивы с бинарниками то их тоже нужно прикрепить сюда. Затем нажмите "Create Release" :

    После создания релиза будет создана такая страничка:

    Выводы

    В этой статье мы рассмотрели как пользоваться GitHub для размещения и управления своим проектом. Вся система на английском, так что базовые знания языка очень желательны но даже без них работа с github будет не очень трудной. Надеюсь, эта информация была полезной для вас. Если вас интересует как работать с Git из командной строки, смотрите статью для начинающих.

    Распределенные системы контроля версий (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, очень рекомендую попробовать именно его

    Про 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 инструкция-шпаргалка для начинающих
    цикл постов «внутренности 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 Линус Торвальдс о git
    habrahabr.ru/blogs/Git/80909 книга «Волшебство git»

    Про git на английском:
    книги

    • progit.org/book книга «Pro Git»
    • rutracker.org/forum/viewtopic.php?t=2808582 книга «Version Control with Git», 2009, O"Reilly
    • book.git-scm.com книга «Git Community Book»
    • rutracker.org/forum/viewtopic.php?t=2808843 книга «Pragmatic Version Control Using Git», 2008, T. Swicegood
    • rutracker.org/forum/viewtopic.php?t=3239579 книга «Pragmatic Guide to Git», 2010, T. Swicegood. Описываемая версия git: 1.7.2.1. Книга в формате двустраничных разворотов - проблема/решение

    Вы пишете код, запускаете его, и всё работает как надо. Вы добавляете новую фичу, и всё перестаёт работать. Каждому разработчику знакома ситуация, когда технология не хочет ему подчиняться. Ничто не идеально, и порой что-нибудь ломается. Иногда на поиски небольшой ошибки могут потребоваться часы работы. В таких случаях на помощь приходят системы контроля версий.

    Что такое система контроля версий?

    Системы контроля версий (СКВ, VCS, Version Control Systems) позволяют разработчикам сохранять все изменения, внесённые в код. Поэтому в случае, описанном выше, они могут просто откатить код до рабочего состояния вместо того, чтобы тратить часы на поиски маленькой ошибки или ошибок, ломающих весь код.

    СКВ также дают возможность нескольким разработчикам работать над одним проектом и сохранять внесённые изменения, чтобы убедиться, что все могут следить за тем, над чем они работают.

    Существует три типа СКВ: локальная, централизованная и распределённая.

    Локальные системы контроля версий (ЛСКВ)


    Многие люди в качестве метода контроля версий применяют копирование файлов в отдельную директорию, возможно даже в директорию с отметкой по времени для большего контроля. Данный подход всё ещё очень популярен и распространён. Изменения сохраняются в виде наборов патчей, где каждый патч датируется и получает отметку времени. Таким образом, если код перестаёт работать, наборы патчей можно совместить, чтобы получить исходное состояние файла.

    Централизованные системы контроля версий (ЦСКВ)

    Недостаток ЦСКВ был исправлен в РСКВ, клиенты которых не просто скачивают снимок всех файлов (состояние файлов на определённый момент времени), а полностью копируют репозиторий. Это значит, что у каждого клиента есть копия всего исходного кода и внесённых изменений. В этом случае, если один из серверов выйдет из строя, любой клиентский репозиторий может быть скопирован на другой сервер для продолжения работы. Ещё одним преимуществом РСКВ является то, что они могут одновременно взаимодействовать с несколькими удалёнными репозиториями, что означает, что вы можете параллельно работать над несколькими проектами.

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

    Что такое Git?


    Git - распределённая система контроля версий, которая даёт возможность разработчикам отслеживать изменения в файлах и работать совместно с другими разработчиками. Она была разработана в 2005 году Линусом Торвальдсом, создателем Linux, для того, чтобы другие разработчики могли вносить свой вклад в ядро Linux. Git известен своей скоростью, простым дизайном, поддержкой нелинейной разработки, полной децентрализацией и возможностью эффективно работать с большими проектами.

    Git стоит отдельно от других СКВ из-за подхода к работе с данными. Большинство других систем хранят информацию в виде списка изменений в файлах. Вместо этого, подход Git к хранению данных больше похож на набор снимков миниатюрной файловой системы. Каждый раз, когда вы сохраняете состояние своего проекта в Git, система запоминает, как выглядит каждый файл в этот момент, и сохраняет ссылку на этот снимок.

    Преимущества Git

    • Бесплатный и open-source . Это значит, что его можно бесплатно скачать и вносить любые изменения в исходный код;
    • Небольшой и быстрый . Он выполняет все операции локально, что увеличивает его скорость. Кроме того, Git локально сохраняет весь репозиторий в небольшой файл без потери качества данных;
    • Резервное копирование . Git эффективен в хранении бэкапов, поэтому известно мало случаев, когда кто-то терял данные при использовании Git;
    • Простое ветвление . В других СКВ создание веток- утомительная и трудоёмкая задача, так как весь код копируется в новую ветку. В Git управление ветками реализовано гораздо проще и эффективнее.

    Теперь пора разобраться, что такое GitHub и как он работает с Git.

    Что такое GitHub?


    GitHub - сервис онлайн-хостинга репозиториев, обладающий всеми функциями распределённого контроля версий и функциональностью управления исходным кодом - всё, что поддерживает Git и даже больше. Обычно он используется вместе с Git и даёт разработчикам возможность сохранять их код онлайн, а затем взаимодействовать с другими разработчиками в разных проектах.

    Также GitHub может похвастаться контролем доступа, багтрекингом, управлением задачами и вики для каждого проекта. Цель GitHub - содействовать взаимодействию разработчиков.

    К проекту, загруженному на GitHub, можно получить доступ с помощью интерфейса командной строки Git и Git-команд. Также есть и другие функции, такие как документация, запросы на принятие изменений (pull requests), история коммитов, интеграция со множеством популярных сервисов, email-уведомления, эмодзи, графики, вложенные списки задач, система @упоминаний, похожая на ту, что в Twitter, и т.д.

    Git - это инструмент, позволяющий реализовать распределённую систему контроля версий, а GitHub - это сервис для проектов, использующих Git.