ݺߣ

ݺߣShare a Scribd company logo
НАЧАЛО РАБОТЫ С
GIT
Подготовил: Кухаренко Андрей
Версия: 2.0-2016.
Условные обозначения и сокращения
 Система управления версиями (СУВ) – программное обеспечение для облегчения
работы с изменяющейся информацией. Система управления версиями позволяет
хранить несколько версий одного и того же документа, при необходимости
возвращаться к более ранним версиям, определять, кто и когда сделал то или иное
изменение, и многое другое.
 Репозиторий, хранилище — место, где хранятся и поддерживаются какие-либо данные.
Чаще всего данные в репозитории хранятся в виде файлов, доступных для
дальнейшего распространения по сети.
 IDE (Integrated development environment) – интегрированная среда разработки.
 Коммит (commit) – сохранение, фиксация (в архиве, репозитарии и др.) изменений в
программном коде.
 Pull request – запрос на слияние изменений, сделанных другим(-и) разработчиками в
исходном репозитории.
 Code review - систематическая проверка исходного кода программы с целью
обнаружения и исправления ошибок, которые остались незамеченными в начальной
фазе разработки.
Введение
 Умение писать грамотный код это лишь часть работы программиста. Ему также
необходимо уметь использовать различные инструменты, позволяющие
оптимизировать, облегчить работу. Одним из таких инструментов является система
контроля версий (СКВ).
 Существует несколько типов таких систем:
 Распределенные: Git [1], Mercurial [2];
 Централизованные: TFS [3] SVN [4], CVS [5].
 Наиболее современными и функциональными являются именно распределенные
системы [6]. Они позволяют создавать много копий репозитория, вести локальные
версии без необходимости наличия удаленного сервера. Также они предоставляют
обширные возможности по работе с ветками, откат изменений, удобное ведение
истории изменений и т.д. Кроме того они работают быстрее и позволяют быстро
сохранять изменения.
 Далее будет рассмотрена одна из распределенных систем: Git.
16.10.2016 3
Основные этапы
 Для того, чтобы приступить к использованию системы контроля версий (СКВ) Git, а
также познакомиться с порядком применения ее в процессе обучения необходимо
выполнить следующие этапы:
 Скачать и установить дистрибутив Git на компьютере (в зависимости от используемой ОС).
 Выполнить настройку Git.
 Установить и настроить дополнения к среде разработки (если необходимо).
 Зарегистрироваться на сервисе удаленном сервисе (например, Bitbucket [8] или GitHub [9]),
 Создать репозиторий на удаленном сервисе.
 Выполнить инициализацию локального репозитория (например, из папки или из среды разработки).
 Поместить локальный репозиторий в удаленный и связать их.
 Проверить сервис с репозиторием на наличие нового кода.
 Таким образом, выполнив эти этапы можно приступить к работе с Git и его
использованию и разработке с учетом отслеживания истории изменений.
 Рассмотрим каждый этап подробнее далее.
16.10.2016 4
Основные этапы - пример
Загрузка
Установка
Настройка
Генерация
ключей (для
SSH)
Step 1
Git
Регистрация на
удаленном
сервисе
Настройка
аккаунта
Создание
репозитория
Step 2
Bitbucket Создание или
открытие
решения с
проектами
Инициализация
локального
репозитория
Привязка к
удаленному
репозиторию
Проверка
репозитория на
сервисе
Step 3
Visual
Studio
16.10.2016 5
УСТАНОВКА И НАСТРОЙКА GIT
16.10.2016 6
Загрузка Git
 Для загрузки Git нужно перейти на сайт http://git-scm.com/.
 На домашней странице будет ссылка на загрузку свежей версии дистрибутива.
16.10.2016 7
Установка Git for Windows
 Установка дистрибутива выполняется как и обычной программы. Необходимо
указать каталог для установки и указать некоторые параметры.
16.10.2016 8
Start
Установка Git for Windows
16.10.2016 9
Установка Git for Windows
16.10.2016 10
Finish
Установка и
копирование файлов в
систему
Проверка версии после установки с помощью
командной строки.
Если успешно установлено, то версия как и сама
команда Git будет работать и отображаться.
Замечания по установке
 В зависимости от версии ОС будет скачана та версия Git, которая есть под нее. То
есть, если 64-битна ОС, то установщик будет в такой же версии. Хотя,
принудительно можно самостоятельно выбрать нужный установщик и разрядность
его.
 В последних версиях появилась такая вещь как Git Credentials Manager [10]. Это
специальное хранилище для паролей и учетных записей для сервисов, в которых
хранится исходный код. Преимущественно создавался Microsoft для поддержки
своих продуктов, поэтому в основном применяется именно с ними. По умолчанию
после установки – включен.
 Если в системе уже была установлена предыдущая версия, то новая версия будет
установлена в то же расположение и обновлена. Запроса для выбора директории -
не будет.
16.10.2016 11
Настройка Git
 Для минимальной настройки Git на компьютере необходимо задать глобальные
параметры, которые будут применяться к вносимым изменения и подписывать их.
Это значит, что указав свои параметры единожды их можно использовать во всех
приложениях и они будут указывать на Вас в истории коммитов в удаленных
репозиториях.
 Такими глобальными настройками являются имя пользователя и его email. Их
можно установить следующими командами в консоли Git:
$ git c onfig - -global us er.nam e "J ohn D oe"
$ git c onfig - -global user.email johnd oe@examp le.c om
 Все параметры будут помещены в файл с настройками Git .gitconfig,
расположенным в домашнем каталоге пользователя (для Windows это
<systemDrive>Users<UserName>).
16.10.2016 12
Пример глобального файла:
Настройка Git
 Кроме глобальных настроек есть и локальные. Они применяются к конкретному
репозиторию, вернее к папке с ним на локальном компьютере.
 В каждом репозитории создается скрытая папка .git, в которой размещаются все
настройки локальной версии репозитория. Именно там есть файл .config, в
котором могут быть указаны уникальные/персональные настройки.
 Настройки никак не влияют на удаленные сервера – они локальны и могут быть
удалены вместе в содержимым репозитория. Однако, в таком случае стоит
помнить про то, что содержимое не отправленное на удаленный сервер может
быть утеряно.
 Правило: после настройки удаленного хранилища, всегда по окончании работы
делайте коммит и отправляйте изменения на сервер в целях сохранности
работы!
16.10.2016 13
Настройка Git. Генерация ключей
 Для завершения настройки необходимо выполнить еще одно обязательное действие.
Это сгенерировать ключи для клиента, т.е. для текущего компьютера.
 Ключи используют алгоритм RSA. Это необходимо для того, чтобы клиент мог общаться
с сервером по защищенному соединению SSH или HTTPS (ключ здесь не обязателен).
 Генерацию можно выполнить несколькими способами. Самый простой из них, это
воспользоваться приложением Git GUI. Будет создан и показан публичный ключ,
приватный, которым точно нельзя делиться, будет также создан (все они размещены в
папке глобальной текущего пользователя).
16.10.2016 14
• Для генерации ключа нужно выбрать пункт
меню Помощь -> Показать ключ SSH.
• Если ключ не сгенерирован, то доступна
кнопка “Создать ключ”.
РЕГИСТРАЦИЯ НА УДАЛЕННОМ
СЕРВИСЕ
16.10.2016 15
Регистрация на сервисе Bitbucket
 Для того, чтобы использовать возможности Git по полной, необходимо завести
аккаунт на одном из сервисов, предоставляющих Git на сервере для создания
удаленных репозиториев. Одними из таких популярных сервисов являются Github
[9] и Bitbucket [8].
 Для регистрации нужно перейти на сайт https://bitbucket.org/ и выбрать пункт
Get Started.
16.10.2016 16
Регистрация на
сервисе бесплатна.
Для такого аккаунта
доступно создание
неограниченного
числа репозиториев,
как публичных, так и
приватных.
Регистрация на сервисе Bitbucket
 В разные периоды времени и развития сервисов,
условия регистрации, внешний вид страниц,
порядок действий и прочее может меняться.
 На момент октября 2016 регистрация стала очень
простой и понятной для любого пользователя.
Требуется всего лишь указать свой почтовый
адрес и придумать имя пользователя и пароль.
 Для пароля выбирайте более менее сложное
сочетание или букв и цифр в целях защиты
вашей учетной записи от взлома!
16.10.2016 17
Вход в учетную запись Bitbucket
 Если уже есть учетная запись, то можно выполнить
вход с помощью нее.
 Также стоит помнить, что компания Atlassian начинает
объединять учетные записи, которые ранее могли быть
разными для основного сайта и Bitbucket. В связи с
этим могут поменяться условия входа и записи буд
объединены в один аккаунт, что позволит иметь доступ
ко всем сервисам и продуктам компании через него.
 На момент октября 2016 – записи уже новые,
объединенные. Однако, только после некоторых
подтверждений на сайте о том, что записи
объединяются, если они были на один адрес
электронной почты!
16.10.2016 18
Настройка аккаунта
 Под настройкой понимается установка значений нужных параметров аккаунта для
его дальнейшего использования. Одним из важнейших параметров, является
добавление набора ключей для доверенных компьютеров, с которых будут
производится обращение к сервису.
16.10.2016 19
• Для настройки нужно
перейти в раздел
Bitbucket Settings -> SSH
Keys.
• Там будет кнопка Add Key,
после чего откроется окно,
в котором нужно будет
указать название ключа и
вставить сам ключ,
сгенерированный ранее.
Добавление ключа через диалоговое окно.
Обязательное название, чтобы отличать ключи
и сам ключ.
Создание удаленного репозитория
 Для создания нового репозитория на
сервисе нужно нажать кнопку Create
Repository в главном меню в меню
Repositories.
 При создании репозитория, нужно указать
его название, тип, вид системы контроля
версий (Git, Mercurial) и основной язык.
 Кроме того, можно сразу же включить
страницы Wiki и Issue-трекер.
 Можно настроить интеграцию с HipChat для
получения оповещений о событиях с
репозиторием.
16.10.2016 20
Создание удаленного репозитория
 После того, как репозиторий создан, откроется окно с его содержимым.
 На данной странице указаны сведения для начала работы с ним. Так, здесь приведены команды для
загрузки кода.
16.10.2016 21
Создание команды
 Сервис также позволяет создать
команды для группировки проектов
по категориям или группам людей,
работающих в компании.
 Это позволяет также обеспечить
доступ только заинтересованному
кругу лиц к репозиториям,
создавать проекты как
объединение нескольких
репозиториев и прочее.
 Команда имеет свои настройки,
планы, шаблоны и прочее.
16.10.2016 22
Создание команды
 После создания команды доступ к ней может быть осуществлён по ссылке с ее
названием.
 По умолчанию администратором будет ее создать, но в процессе можно будет
добавить новых и изменить эти настройки.
16.10.2016 23
Создание проекта в команде
 Проекты это новая обязательная сущности
при работе с репозиториями в команде, так
как каждый из них так или иначе должен
быть размещен в одном из проектов.
 Это довольно новый подход, которого ранее
не было в 2015 году.
 Проект может быть приватным, по
умолчанию – публичный. Это значит, что
каждый пользователь так или иначе может
иметь к нему доступ и соответственно к
его содержимому.
16.10.2016 24
Создание проекта в команде
 Домашняя страница проекта – предоставляет возможность создания репозитория в
нем
16.10.2016 25
Создание репозитория в командном проекте
 Репозиторий создается аналогично тому, как это
делается для персонального аккаунта. Отличие
лишь в том, что есть проект, которые нужно
обязательно выбрать.
 Если проект не создан, то можно ввести
название и будет создан пустой проект.
 Однако, лучше начать с создания проекта, а
потом выбирать из имеющихся.
16.10.2016 26
Работа с репозиториями
 Для начала работы после создания нужно либо загрузить его (клонировать), либо
поместить в него код, уже имеющийся в виде локального репозитория.
 Если содержимое уже есть, то можно сделать копию (если разрешено в
настройках) в свой аккаунт – это позволит работать с содержимым независимо,
после чего можно создать запрос на слияние (Pull Request), чтобы поместить
обновления в исходный репозиторий, провести анализ кода (code review,
например).
 В проекте можно будет создавать ветки для исходного кода и многое другое.
16.10.2016 27
НАСТРОЙКА СРЕДЫ РАЗРАБОТКИ
16.10.2016 28
Настройка Git и Visul Studio 2015
 Для настройки СКВ, необходимо открыть окно настроек Visual Studio 2015 и выбрать
пункт Source Control. В данной версии Git идет сразу же вместе со средой, в
предыдущих версиях – требуется установка расширения.
 Кроме того, начиная с обновления 3 идет в комплекте также расширение GitHub
которое позволяет удобно работать с данным сервисом в среде.
16.10.2016 29
Инициализация репозитория в Visual Studio 2015
 Открываем или создаем проект в Visual Studio. Далее,
кликаем правой кнопкой мыши по открытому решению.
Выбираем пункт меню – Add Solution to Source
Control…
 По умолчанию будет использоваться та СКВ, которая
была установлена ранее в настройках.
 Данная операция справедлива как для Git, так и для
TFS. Операция добавления кода в СКВ унифицирована.
 После создания репозитория все файлы помечаются как
успешно добавленные, а также создается коммит с
файлами в проекте, если они имели место быть. Это
сделано автоматически в среде (первый коммиит с
файлами .gitignore, второй – с файлами проекта).
 При этом, в каталоге с проектом появится скрытая
папка .git. В ней содержатся файлы с параметрами
репозитория, включающие хэши, сведения о текущем
указателе на коммит, история изменений, параметры
репозитория.
16.10.2016 30
Работа с Git в Visual Studio 2015
 Начиная с версии 2015 среды разработки все операции
оп работе с СКВ перенесены в панель Team Explorer. Это
позволяет иметь унифицированное место для работы с
историей, смотреть историю изменений и прочее. Там же
доступны операции по работе с ветками, просмотра
изменений и синхронизация.
 Изменения – это список файлов, измененных и которые
нужно зафиксировать (сделать коммит).
 Синхронизация это комбинированная операция, сделанная
разработчиками среды. Она построена на основе
нескольких базовых операций Git – pull and push. Идея
состоит в том, что перед отправкой изменений
выполняется получение версии содержимого с сервера,
слияние, и только потом отправка или, если есть
конфликты – после их разрешения.
16.10.2016 31
ATLASSIAN SOURCETREE
16.10.2016 32
Приложение SourceTree
 Данное приложение позволяет удобно работать с репозиториями на локальном
компьютере и успешно отслеживать все их, работать с удаленными репозиториями,
вести учет изменений, обрабатывать слияние веток, видеть полную историю
изменений и т.п.
 Таким образом, для удобства работы можно использовать данное приложение. Оно
позволит в удобном интерфейсе выполнять основные команды, видеть визуально
изменения с блоком сравнения и многое другое.
 Приложение бесплатное для использования в любых целях.
 Более подробные сведения можно найти в интернете по его использованию.
 https://www.sourcetreeapp.com/
16.10.2016 33
16.10.2016 34
СВЯЗЫВАНИЕ ЛОКАЛЬНОГО
СОДЕРЖИМОГО С УДАЛЕННЫМ
16.10.2016 35
Связывание локального репозитория
с удаленным
 Для того, чтобы связать локальный репозиторий с локальным необходимо указать
в параметрах репозитория, созданного на компьютере, удаленный адрес. Это
называется remote. Их может быть много, но обычно создается как минимум один
– для указания сервера, который будет использоваться всеми разработчиками как
единое место размещения последнего актуального кода.
 После создания репозитория можно сделать начало гораздо более простым.
Просто клонировать его. В таком случае все настройки по удаленному серверу
автоматически будут сохранены и могут быть использованы в дальнейшем. Этот
случай подходит для новых или существующих репозиториев, с которыми нужно
быстро начать работу.
 Если же необходимо поместить имеющееся содержимое в новый репозиторий,
пустой еще, то нужно пройти другую последовательность шагов. 1)
инициализировать локальный репозиторий, 2) добавить вручную удаленную ветку, 3)
отправить изменения.
16.10.2016 36
Связывание локального репозитория
с удаленным
 Нужно открыть Git Bash/ CMD (в зависимости от того, как настроена работа с
консолью на конкретном локальном компьютере) и выполнить следующие команды:
$ git remote add origin
git@bitbucket.org:exadeldotnettraining /gitstartlesson.git
$git push -u origin –all
 Команда создаст ссылку на удаленный сервер – origin. Вторая – отправит все
изменения включая метки на удаленный сервер.
 После этого, все файлы, помещенные в репозиторий и зафиксированные, будут
отправлены на сервер в созданный ранее репозиторий (адрес его указывается при
создании удаленной ветки origin).
 Теперь команда $git p ush ( без пар амет р ов ) будет отправлять данные в
удаленную ветку origin/master автоматически, потому что будет использоваться
origin для всех подобных операций. Если удаленных веток больше, то нужно будет
указывать нужную.
16.10.2016 37
Проверка
 Для проверки правильности настройки, необходимо проверить репозиторий,
который был загружен на сервис. Если там успешно показываются файлы проекта
и есть сведения о коммитах, то все в порядке.
 Также, можно выполнить проверку путем клонирования существующего
репозитория. Для этого нужно выбрать такой репозиторий получить ссылку для
клонирования.
 Например, она может иметь вид (команда) по SSH:
$ git c lone
git @bitbuck et.org: exadeld otnet training /gitst artlesson.git
 Если все операции производятся нормально, это значит, что настройка выполнена
верно, Git успешно связывается с удаленным сервисом, файлы помещаются и
загружаются с него.
16.10.2016 38
Проверка и замечания
 Первый раз, когда производится клонирования, а еще вернее – при отправке
изменнений (push) репозитория на компьютере в случае использования SSH может
потребоваться дополнительное действие, которое заключается в том, чтобы
синхронизировать ключи на сервисе. Это делается очень просто, но требуется
операция подтверждения от пользователя. Поэтому данную операцию стоит делать
в консоли, где будет показано предупреждение.
 После этого появится глобальный файл knownhosts со списком хостов и ключей
(публичных, не приватных!) с которыми сопряжен и работает компьютер.
16.10.2016 39
ПОДВЕДЕНИЕ ИТОГОВ
16.10.2016 40
Полные шаги настройки
 Итого, для настройки Git и начала работы с удаленными сервисами нужно пройти
следующие шаги:
 Установить и настроить Git на локальном компьютере.
 Сгенерировать ключ (публичный и приватный).
 Зарегистрироваться или войти в аккаунт на удаленном сервисе.
 Добавить ключ с компьютера (публичный).
 Создать репозиторий пустой.
 Инициализировать локальный репозиторий или клонировать, отправить изменения
новые.
 Синхронизировать ключи доступа (если по SSH).
16.10.2016 41
Заключение
 В данной презентации били рассмотрены основные моменты, необходимые для
начала работы с Git, а также его использованию при работе в среде Visual
Studio.
 В заключении можно отметить, что данная презентация на является максимально
полной и охватывающей данную тему. Для более подробного ознакомления
предлагается использовать разработанное руководство, а также дополнительные
материалы, посвященные Git и работе с ним. Кроме того, можно познакомиться с
документацией на портале Bitbucket [8], которая содержит сведения для работы с
удаленными репозиториями.
 Целью данной презентации было дать общее понятие как начать работать и что
нужно чтобы начать. Содержатся сведения о том, как можно начать работу с Git, а
также настроить необходимые средства для роботы.
16.10.2016 42
Список использованных источников
1. Официальный сайт Git - http://git-scm.com/
2. Официальный сайт Mercurial - http://mercurial.selenic.com/
3. Team Foundation Service - http://tfs.visualstudio.com/
4. Официальный сайт Subversion - http://subversion.tigris.org/
5. Официальный сайт CVS - http://cvs.nongnu.org/
6. Pro Git (book, documentation) - http://git-scm.com/documentation
7. Git Source Control Provider - http://gitscc.codeplex.com/
8. Хостинг исходного кода Bitbucket - https://bitbucket.org/
9. Хостинг исходного кода GitHub - https://github.com/
10. Secure Git credential storage for Windows - https://github.com/Microsoft/Git-Credential-
Manager-for-Windows
11. SourceTree application - https://www.sourcetreeapp.com/
16.10.2016 43
Дополнительные ресурсы
Удаленные хостинги для хранения репозиториев:
 Visual studio Team Services - https://www.visualstudio.com/team-services/
Видео:
 Using Git and GitHub - https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Using-Git-and-GitHub
Статьи и сайты с документацией:
 https://githowto.com/ru
 https://www.atlassian.com/git/
Курсы:
 Git Fundamentsls - https://www.pluralsight.com/courses/git-fundamentals
 How Git Works - https://www.pluralsight.com/courses/how-git-works
 Advanced Git Tips and Tricks - https://www.pluralsight.com/courses/git-advanced-tips-tricks
 Git for Visual Studio Developers - https://www.pluralsight.com/courses/git-visual-studio-developers
 Using GitFlow - https://www.pluralsight.com/courses/using-gitflow
 Learn Git - https://www.codecademy.com/learn/learn-git
Книги:
 Pro Git 2 edition - https://git-scm.com/book/en/v2
16.10.2016 44
THE END!
Thanks for your attentions!

More Related Content

Начало работы с Git (версия 2016)

  • 1. НАЧАЛО РАБОТЫ С GIT Подготовил: Кухаренко Андрей Версия: 2.0-2016.
  • 2. Условные обозначения и сокращения  Система управления версиями (СУВ) – программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.  Репозиторий, хранилище — место, где хранятся и поддерживаются какие-либо данные. Чаще всего данные в репозитории хранятся в виде файлов, доступных для дальнейшего распространения по сети.  IDE (Integrated development environment) – интегрированная среда разработки.  Коммит (commit) – сохранение, фиксация (в архиве, репозитарии и др.) изменений в программном коде.  Pull request – запрос на слияние изменений, сделанных другим(-и) разработчиками в исходном репозитории.  Code review - систематическая проверка исходного кода программы с целью обнаружения и исправления ошибок, которые остались незамеченными в начальной фазе разработки.
  • 3. Введение  Умение писать грамотный код это лишь часть работы программиста. Ему также необходимо уметь использовать различные инструменты, позволяющие оптимизировать, облегчить работу. Одним из таких инструментов является система контроля версий (СКВ).  Существует несколько типов таких систем:  Распределенные: Git [1], Mercurial [2];  Централизованные: TFS [3] SVN [4], CVS [5].  Наиболее современными и функциональными являются именно распределенные системы [6]. Они позволяют создавать много копий репозитория, вести локальные версии без необходимости наличия удаленного сервера. Также они предоставляют обширные возможности по работе с ветками, откат изменений, удобное ведение истории изменений и т.д. Кроме того они работают быстрее и позволяют быстро сохранять изменения.  Далее будет рассмотрена одна из распределенных систем: Git. 16.10.2016 3
  • 4. Основные этапы  Для того, чтобы приступить к использованию системы контроля версий (СКВ) Git, а также познакомиться с порядком применения ее в процессе обучения необходимо выполнить следующие этапы:  Скачать и установить дистрибутив Git на компьютере (в зависимости от используемой ОС).  Выполнить настройку Git.  Установить и настроить дополнения к среде разработки (если необходимо).  Зарегистрироваться на сервисе удаленном сервисе (например, Bitbucket [8] или GitHub [9]),  Создать репозиторий на удаленном сервисе.  Выполнить инициализацию локального репозитория (например, из папки или из среды разработки).  Поместить локальный репозиторий в удаленный и связать их.  Проверить сервис с репозиторием на наличие нового кода.  Таким образом, выполнив эти этапы можно приступить к работе с Git и его использованию и разработке с учетом отслеживания истории изменений.  Рассмотрим каждый этап подробнее далее. 16.10.2016 4
  • 5. Основные этапы - пример Загрузка Установка Настройка Генерация ключей (для SSH) Step 1 Git Регистрация на удаленном сервисе Настройка аккаунта Создание репозитория Step 2 Bitbucket Создание или открытие решения с проектами Инициализация локального репозитория Привязка к удаленному репозиторию Проверка репозитория на сервисе Step 3 Visual Studio 16.10.2016 5
  • 7. Загрузка Git  Для загрузки Git нужно перейти на сайт http://git-scm.com/.  На домашней странице будет ссылка на загрузку свежей версии дистрибутива. 16.10.2016 7
  • 8. Установка Git for Windows  Установка дистрибутива выполняется как и обычной программы. Необходимо указать каталог для установки и указать некоторые параметры. 16.10.2016 8 Start
  • 9. Установка Git for Windows 16.10.2016 9
  • 10. Установка Git for Windows 16.10.2016 10 Finish Установка и копирование файлов в систему Проверка версии после установки с помощью командной строки. Если успешно установлено, то версия как и сама команда Git будет работать и отображаться.
  • 11. Замечания по установке  В зависимости от версии ОС будет скачана та версия Git, которая есть под нее. То есть, если 64-битна ОС, то установщик будет в такой же версии. Хотя, принудительно можно самостоятельно выбрать нужный установщик и разрядность его.  В последних версиях появилась такая вещь как Git Credentials Manager [10]. Это специальное хранилище для паролей и учетных записей для сервисов, в которых хранится исходный код. Преимущественно создавался Microsoft для поддержки своих продуктов, поэтому в основном применяется именно с ними. По умолчанию после установки – включен.  Если в системе уже была установлена предыдущая версия, то новая версия будет установлена в то же расположение и обновлена. Запроса для выбора директории - не будет. 16.10.2016 11
  • 12. Настройка Git  Для минимальной настройки Git на компьютере необходимо задать глобальные параметры, которые будут применяться к вносимым изменения и подписывать их. Это значит, что указав свои параметры единожды их можно использовать во всех приложениях и они будут указывать на Вас в истории коммитов в удаленных репозиториях.  Такими глобальными настройками являются имя пользователя и его email. Их можно установить следующими командами в консоли Git: $ git c onfig - -global us er.nam e "J ohn D oe" $ git c onfig - -global user.email johnd oe@examp le.c om  Все параметры будут помещены в файл с настройками Git .gitconfig, расположенным в домашнем каталоге пользователя (для Windows это <systemDrive>Users<UserName>). 16.10.2016 12 Пример глобального файла:
  • 13. Настройка Git  Кроме глобальных настроек есть и локальные. Они применяются к конкретному репозиторию, вернее к папке с ним на локальном компьютере.  В каждом репозитории создается скрытая папка .git, в которой размещаются все настройки локальной версии репозитория. Именно там есть файл .config, в котором могут быть указаны уникальные/персональные настройки.  Настройки никак не влияют на удаленные сервера – они локальны и могут быть удалены вместе в содержимым репозитория. Однако, в таком случае стоит помнить про то, что содержимое не отправленное на удаленный сервер может быть утеряно.  Правило: после настройки удаленного хранилища, всегда по окончании работы делайте коммит и отправляйте изменения на сервер в целях сохранности работы! 16.10.2016 13
  • 14. Настройка Git. Генерация ключей  Для завершения настройки необходимо выполнить еще одно обязательное действие. Это сгенерировать ключи для клиента, т.е. для текущего компьютера.  Ключи используют алгоритм RSA. Это необходимо для того, чтобы клиент мог общаться с сервером по защищенному соединению SSH или HTTPS (ключ здесь не обязателен).  Генерацию можно выполнить несколькими способами. Самый простой из них, это воспользоваться приложением Git GUI. Будет создан и показан публичный ключ, приватный, которым точно нельзя делиться, будет также создан (все они размещены в папке глобальной текущего пользователя). 16.10.2016 14 • Для генерации ключа нужно выбрать пункт меню Помощь -> Показать ключ SSH. • Если ключ не сгенерирован, то доступна кнопка “Создать ключ”.
  • 16. Регистрация на сервисе Bitbucket  Для того, чтобы использовать возможности Git по полной, необходимо завести аккаунт на одном из сервисов, предоставляющих Git на сервере для создания удаленных репозиториев. Одними из таких популярных сервисов являются Github [9] и Bitbucket [8].  Для регистрации нужно перейти на сайт https://bitbucket.org/ и выбрать пункт Get Started. 16.10.2016 16 Регистрация на сервисе бесплатна. Для такого аккаунта доступно создание неограниченного числа репозиториев, как публичных, так и приватных.
  • 17. Регистрация на сервисе Bitbucket  В разные периоды времени и развития сервисов, условия регистрации, внешний вид страниц, порядок действий и прочее может меняться.  На момент октября 2016 регистрация стала очень простой и понятной для любого пользователя. Требуется всего лишь указать свой почтовый адрес и придумать имя пользователя и пароль.  Для пароля выбирайте более менее сложное сочетание или букв и цифр в целях защиты вашей учетной записи от взлома! 16.10.2016 17
  • 18. Вход в учетную запись Bitbucket  Если уже есть учетная запись, то можно выполнить вход с помощью нее.  Также стоит помнить, что компания Atlassian начинает объединять учетные записи, которые ранее могли быть разными для основного сайта и Bitbucket. В связи с этим могут поменяться условия входа и записи буд объединены в один аккаунт, что позволит иметь доступ ко всем сервисам и продуктам компании через него.  На момент октября 2016 – записи уже новые, объединенные. Однако, только после некоторых подтверждений на сайте о том, что записи объединяются, если они были на один адрес электронной почты! 16.10.2016 18
  • 19. Настройка аккаунта  Под настройкой понимается установка значений нужных параметров аккаунта для его дальнейшего использования. Одним из важнейших параметров, является добавление набора ключей для доверенных компьютеров, с которых будут производится обращение к сервису. 16.10.2016 19 • Для настройки нужно перейти в раздел Bitbucket Settings -> SSH Keys. • Там будет кнопка Add Key, после чего откроется окно, в котором нужно будет указать название ключа и вставить сам ключ, сгенерированный ранее. Добавление ключа через диалоговое окно. Обязательное название, чтобы отличать ключи и сам ключ.
  • 20. Создание удаленного репозитория  Для создания нового репозитория на сервисе нужно нажать кнопку Create Repository в главном меню в меню Repositories.  При создании репозитория, нужно указать его название, тип, вид системы контроля версий (Git, Mercurial) и основной язык.  Кроме того, можно сразу же включить страницы Wiki и Issue-трекер.  Можно настроить интеграцию с HipChat для получения оповещений о событиях с репозиторием. 16.10.2016 20
  • 21. Создание удаленного репозитория  После того, как репозиторий создан, откроется окно с его содержимым.  На данной странице указаны сведения для начала работы с ним. Так, здесь приведены команды для загрузки кода. 16.10.2016 21
  • 22. Создание команды  Сервис также позволяет создать команды для группировки проектов по категориям или группам людей, работающих в компании.  Это позволяет также обеспечить доступ только заинтересованному кругу лиц к репозиториям, создавать проекты как объединение нескольких репозиториев и прочее.  Команда имеет свои настройки, планы, шаблоны и прочее. 16.10.2016 22
  • 23. Создание команды  После создания команды доступ к ней может быть осуществлён по ссылке с ее названием.  По умолчанию администратором будет ее создать, но в процессе можно будет добавить новых и изменить эти настройки. 16.10.2016 23
  • 24. Создание проекта в команде  Проекты это новая обязательная сущности при работе с репозиториями в команде, так как каждый из них так или иначе должен быть размещен в одном из проектов.  Это довольно новый подход, которого ранее не было в 2015 году.  Проект может быть приватным, по умолчанию – публичный. Это значит, что каждый пользователь так или иначе может иметь к нему доступ и соответственно к его содержимому. 16.10.2016 24
  • 25. Создание проекта в команде  Домашняя страница проекта – предоставляет возможность создания репозитория в нем 16.10.2016 25
  • 26. Создание репозитория в командном проекте  Репозиторий создается аналогично тому, как это делается для персонального аккаунта. Отличие лишь в том, что есть проект, которые нужно обязательно выбрать.  Если проект не создан, то можно ввести название и будет создан пустой проект.  Однако, лучше начать с создания проекта, а потом выбирать из имеющихся. 16.10.2016 26
  • 27. Работа с репозиториями  Для начала работы после создания нужно либо загрузить его (клонировать), либо поместить в него код, уже имеющийся в виде локального репозитория.  Если содержимое уже есть, то можно сделать копию (если разрешено в настройках) в свой аккаунт – это позволит работать с содержимым независимо, после чего можно создать запрос на слияние (Pull Request), чтобы поместить обновления в исходный репозиторий, провести анализ кода (code review, например).  В проекте можно будет создавать ветки для исходного кода и многое другое. 16.10.2016 27
  • 29. Настройка Git и Visul Studio 2015  Для настройки СКВ, необходимо открыть окно настроек Visual Studio 2015 и выбрать пункт Source Control. В данной версии Git идет сразу же вместе со средой, в предыдущих версиях – требуется установка расширения.  Кроме того, начиная с обновления 3 идет в комплекте также расширение GitHub которое позволяет удобно работать с данным сервисом в среде. 16.10.2016 29
  • 30. Инициализация репозитория в Visual Studio 2015  Открываем или создаем проект в Visual Studio. Далее, кликаем правой кнопкой мыши по открытому решению. Выбираем пункт меню – Add Solution to Source Control…  По умолчанию будет использоваться та СКВ, которая была установлена ранее в настройках.  Данная операция справедлива как для Git, так и для TFS. Операция добавления кода в СКВ унифицирована.  После создания репозитория все файлы помечаются как успешно добавленные, а также создается коммит с файлами в проекте, если они имели место быть. Это сделано автоматически в среде (первый коммиит с файлами .gitignore, второй – с файлами проекта).  При этом, в каталоге с проектом появится скрытая папка .git. В ней содержатся файлы с параметрами репозитория, включающие хэши, сведения о текущем указателе на коммит, история изменений, параметры репозитория. 16.10.2016 30
  • 31. Работа с Git в Visual Studio 2015  Начиная с версии 2015 среды разработки все операции оп работе с СКВ перенесены в панель Team Explorer. Это позволяет иметь унифицированное место для работы с историей, смотреть историю изменений и прочее. Там же доступны операции по работе с ветками, просмотра изменений и синхронизация.  Изменения – это список файлов, измененных и которые нужно зафиксировать (сделать коммит).  Синхронизация это комбинированная операция, сделанная разработчиками среды. Она построена на основе нескольких базовых операций Git – pull and push. Идея состоит в том, что перед отправкой изменений выполняется получение версии содержимого с сервера, слияние, и только потом отправка или, если есть конфликты – после их разрешения. 16.10.2016 31
  • 33. Приложение SourceTree  Данное приложение позволяет удобно работать с репозиториями на локальном компьютере и успешно отслеживать все их, работать с удаленными репозиториями, вести учет изменений, обрабатывать слияние веток, видеть полную историю изменений и т.п.  Таким образом, для удобства работы можно использовать данное приложение. Оно позволит в удобном интерфейсе выполнять основные команды, видеть визуально изменения с блоком сравнения и многое другое.  Приложение бесплатное для использования в любых целях.  Более подробные сведения можно найти в интернете по его использованию.  https://www.sourcetreeapp.com/ 16.10.2016 33
  • 36. Связывание локального репозитория с удаленным  Для того, чтобы связать локальный репозиторий с локальным необходимо указать в параметрах репозитория, созданного на компьютере, удаленный адрес. Это называется remote. Их может быть много, но обычно создается как минимум один – для указания сервера, который будет использоваться всеми разработчиками как единое место размещения последнего актуального кода.  После создания репозитория можно сделать начало гораздо более простым. Просто клонировать его. В таком случае все настройки по удаленному серверу автоматически будут сохранены и могут быть использованы в дальнейшем. Этот случай подходит для новых или существующих репозиториев, с которыми нужно быстро начать работу.  Если же необходимо поместить имеющееся содержимое в новый репозиторий, пустой еще, то нужно пройти другую последовательность шагов. 1) инициализировать локальный репозиторий, 2) добавить вручную удаленную ветку, 3) отправить изменения. 16.10.2016 36
  • 37. Связывание локального репозитория с удаленным  Нужно открыть Git Bash/ CMD (в зависимости от того, как настроена работа с консолью на конкретном локальном компьютере) и выполнить следующие команды: $ git remote add origin git@bitbucket.org:exadeldotnettraining /gitstartlesson.git $git push -u origin –all  Команда создаст ссылку на удаленный сервер – origin. Вторая – отправит все изменения включая метки на удаленный сервер.  После этого, все файлы, помещенные в репозиторий и зафиксированные, будут отправлены на сервер в созданный ранее репозиторий (адрес его указывается при создании удаленной ветки origin).  Теперь команда $git p ush ( без пар амет р ов ) будет отправлять данные в удаленную ветку origin/master автоматически, потому что будет использоваться origin для всех подобных операций. Если удаленных веток больше, то нужно будет указывать нужную. 16.10.2016 37
  • 38. Проверка  Для проверки правильности настройки, необходимо проверить репозиторий, который был загружен на сервис. Если там успешно показываются файлы проекта и есть сведения о коммитах, то все в порядке.  Также, можно выполнить проверку путем клонирования существующего репозитория. Для этого нужно выбрать такой репозиторий получить ссылку для клонирования.  Например, она может иметь вид (команда) по SSH: $ git c lone git @bitbuck et.org: exadeld otnet training /gitst artlesson.git  Если все операции производятся нормально, это значит, что настройка выполнена верно, Git успешно связывается с удаленным сервисом, файлы помещаются и загружаются с него. 16.10.2016 38
  • 39. Проверка и замечания  Первый раз, когда производится клонирования, а еще вернее – при отправке изменнений (push) репозитория на компьютере в случае использования SSH может потребоваться дополнительное действие, которое заключается в том, чтобы синхронизировать ключи на сервисе. Это делается очень просто, но требуется операция подтверждения от пользователя. Поэтому данную операцию стоит делать в консоли, где будет показано предупреждение.  После этого появится глобальный файл knownhosts со списком хостов и ключей (публичных, не приватных!) с которыми сопряжен и работает компьютер. 16.10.2016 39
  • 41. Полные шаги настройки  Итого, для настройки Git и начала работы с удаленными сервисами нужно пройти следующие шаги:  Установить и настроить Git на локальном компьютере.  Сгенерировать ключ (публичный и приватный).  Зарегистрироваться или войти в аккаунт на удаленном сервисе.  Добавить ключ с компьютера (публичный).  Создать репозиторий пустой.  Инициализировать локальный репозиторий или клонировать, отправить изменения новые.  Синхронизировать ключи доступа (если по SSH). 16.10.2016 41
  • 42. Заключение  В данной презентации били рассмотрены основные моменты, необходимые для начала работы с Git, а также его использованию при работе в среде Visual Studio.  В заключении можно отметить, что данная презентация на является максимально полной и охватывающей данную тему. Для более подробного ознакомления предлагается использовать разработанное руководство, а также дополнительные материалы, посвященные Git и работе с ним. Кроме того, можно познакомиться с документацией на портале Bitbucket [8], которая содержит сведения для работы с удаленными репозиториями.  Целью данной презентации было дать общее понятие как начать работать и что нужно чтобы начать. Содержатся сведения о том, как можно начать работу с Git, а также настроить необходимые средства для роботы. 16.10.2016 42
  • 43. Список использованных источников 1. Официальный сайт Git - http://git-scm.com/ 2. Официальный сайт Mercurial - http://mercurial.selenic.com/ 3. Team Foundation Service - http://tfs.visualstudio.com/ 4. Официальный сайт Subversion - http://subversion.tigris.org/ 5. Официальный сайт CVS - http://cvs.nongnu.org/ 6. Pro Git (book, documentation) - http://git-scm.com/documentation 7. Git Source Control Provider - http://gitscc.codeplex.com/ 8. Хостинг исходного кода Bitbucket - https://bitbucket.org/ 9. Хостинг исходного кода GitHub - https://github.com/ 10. Secure Git credential storage for Windows - https://github.com/Microsoft/Git-Credential- Manager-for-Windows 11. SourceTree application - https://www.sourcetreeapp.com/ 16.10.2016 43
  • 44. Дополнительные ресурсы Удаленные хостинги для хранения репозиториев:  Visual studio Team Services - https://www.visualstudio.com/team-services/ Видео:  Using Git and GitHub - https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Using-Git-and-GitHub Статьи и сайты с документацией:  https://githowto.com/ru  https://www.atlassian.com/git/ Курсы:  Git Fundamentsls - https://www.pluralsight.com/courses/git-fundamentals  How Git Works - https://www.pluralsight.com/courses/how-git-works  Advanced Git Tips and Tricks - https://www.pluralsight.com/courses/git-advanced-tips-tricks  Git for Visual Studio Developers - https://www.pluralsight.com/courses/git-visual-studio-developers  Using GitFlow - https://www.pluralsight.com/courses/using-gitflow  Learn Git - https://www.codecademy.com/learn/learn-git Книги:  Pro Git 2 edition - https://git-scm.com/book/en/v2 16.10.2016 44
  • 45. THE END! Thanks for your attentions!

Editor's Notes

  • #2: Знакомство с системой контроля версий, порядком использования ее на курсах по программированию.
  • #4: Рассказать, зачем это нужно кратко и отметить основные положительные моменты от этого.
  • #37: Показать как выполнять помещение локального репозитория кода в нем в удаленный (в ветку origin).
  • #38: Показать как выполнять помещение локального репозитория кода в нем в удаленный (в ветку origin).
  • #39: Проверка удаленного репозитория, чтобы там был нужный код и нужный коммит.
  • #43: Здесь подвести итог данной вводной презентации. Можно также сказать, что если есть необходимость в других презентацию по данной тематике, то их можно сделать тоже и продемонстрировать. Например, по деталям работы с серсивом Bitbucket.