Слайд 2
![Централизованные VCS](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-1.jpg)
Слайд 3
![Централизованные VCS Достоинства Централизованное администрирование Привычный workflow Управление правами доступа](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-2.jpg)
Централизованные VCS
Достоинства
Централизованное администрирование
Привычный workflow
Управление правами доступа
Недостатки
Единая точка отказа – сервер
Любые
изменения влияют на всех пользователей
Неудобная работа с ветками – легко создать, тяжело смержить
Возможны блокировки - захват пессимистической блокировки одним пользователем
Слайд 4
![Распределенные VCS](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-3.jpg)
Слайд 5
![Распределенные VCS Достоинства Гибкая работа с ветками Автономность (как каждого](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-4.jpg)
Распределенные VCS
Достоинства
Гибкая работа с ветками
Автономность (как каждого разработчика, так и от
сервера вообще)
Сборка артефактов отделена от разработки
Локальные операции работают быстро
Разделены операции фиксации изменений (commit) и публикации изменений(push)
Недостатки
В каждой копии необходимо хранить всю историю изменений (иногда считается плюсом)
Требуется более тщательное управление доступом (иногда считается плюсом)
Сложны в использовании
Слайд 6
![Жизненный цикл Git](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-5.jpg)
Слайд 7
![Состояния файлов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-6.jpg)
Слайд 8
![Работа с удаленным репозиторием Команда clone клонирует репозиторий и создаёт](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-7.jpg)
Работа с удаленным репозиторием
Команда clone клонирует репозиторий и создаёт рабочую копию
Команда
push отправляет изменения в удаленный репозиторий
Команда pull забирает изменения указанной ветки из удаленного репозитория и сливает их в текущую ветку
Команда fetch забирает все изменения из удаленного репозитория
Слайд 9
![Работа с локальным репозиторием Команда add добавляет измененные файлы в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-8.jpg)
Работа с локальным репозиторием
Команда add добавляет измененные файлы в stage
Команда rm
помечает файл в stage как удаленный
Команда reset сбрасывает изменения в текущем stage
Команда commit сохраняет текущий stage в локальный репозиторий
Слайд 10
![Работа с ветками Команда branch создаёт ветку Команда checkout переключает](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-9.jpg)
Работа с ветками
Команда branch создаёт ветку
Команда checkout переключает рабочую копию на
другую ветку
Команда merge сливает изменения веток
Команда stash помещает изменения из stage во временное хранилище и сбрасывает рабочую копию
Слайд 11
![Полезные ссылки http://proselyte.net/tutorials/git/introduction/ - русскоязычная документация, начальные шаги https://git-scm.com/book/en/v2 -](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-10.jpg)
Полезные ссылки
http://proselyte.net/tutorials/git/introduction/ - русскоязычная документация, начальные шаги
https://git-scm.com/book/en/v2 - основательная документация, почти
на все случаи жизни
Слайд 12
![Bitbucket https://bitbucket.org/ веб-сервис для хостинга проектов и их совместной разработки,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-11.jpg)
Bitbucket
https://bitbucket.org/
веб-сервис для хостинга проектов и их совместной разработки, основанный на системе контроля
версий Mercurial и Git.
Слайд 13
![Регистрация Заходим на https://bitbucket.org/](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-12.jpg)
Регистрация
Заходим на https://bitbucket.org/
Слайд 14
![Регистрация Вводим email, подтверждаем его](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-13.jpg)
Регистрация
Вводим email, подтверждаем его
Слайд 15
![Создание репозитория](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-14.jpg)
Слайд 16
![Создание репозитория](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-15.jpg)
Слайд 17
![Клонирование репозитория Открываем Git Extensions](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-16.jpg)
Клонирование репозитория
Открываем Git Extensions
Слайд 18
![Клонирование репозитория](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-17.jpg)
Слайд 19
![Настройки GitExtentions](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-18.jpg)
Слайд 20
![Пустой репозиторий](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-19.jpg)
Слайд 21
![Создаём Hello world проект в Idea](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-20.jpg)
Создаём Hello world проект в Idea
Слайд 22
![Stage изменений](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-21.jpg)
Слайд 23
![Commit&Push изменений](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-22.jpg)
Слайд 24
![История изменений](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-23.jpg)
Слайд 25
![Создание ветки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-24.jpg)
Слайд 26
![Создание ветки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-25.jpg)
Слайд 27
![Переключение на ветку Обновляем проект (pull или fetch) Переключаемся на ветку - checkout](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-26.jpg)
Переключение на ветку
Обновляем проект (pull или fetch)
Переключаемся на ветку -
checkout
Слайд 28
![Делаем изменения в Hello world проекте в Idea](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-27.jpg)
Делаем изменения в Hello world проекте в Idea
Слайд 29
![Commit изменений](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-28.jpg)
Слайд 30
![Push изменений](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-29.jpg)
Слайд 31
![Ветки в Bitbucket](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-30.jpg)
Слайд 32
![Pull request ветки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-31.jpg)
Слайд 33
![Pull request ветки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-32.jpg)
Слайд 34
![Настройка доступа](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-33.jpg)
Слайд 35
![Настройка доступа Необходимо добавить права на чтение следующим пользователям: Sergey](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/87878/slide-34.jpg)
Настройка доступа
Необходимо добавить права на чтение следующим пользователям:
Sergey Krupin (cft_krupin)
Kristina Kolesnikova
(k_kolesnikova)
Nekrashevich Anastasia (nekrashevich)