Система контроля версий Git
Централизованные VCS
Централизованные VCS
Распределенные VCS
Распределенные VCS
Жизненный цикл Git
Состояния файлов
Работа с удаленным репозиторием
Работа с локальным репозиторием
Работа с ветками
Полезные ссылки
Bitbucket
Регистрация
Регистрация
Создание репозитория
Создание репозитория
Клонирование репозитория
Клонирование репозитория
Настройки GitExtentions
Пустой репозиторий
Создаём Hello world проект в Idea
Stage изменений
Commit&Push изменений
История изменений
Создание ветки
Создание ветки
Переключение на ветку
Делаем изменения в Hello world проекте в Idea
Commit изменений
Push изменений
Ветки в Bitbucket
Pull request ветки
Pull request ветки
Настройка доступа
Настройка доступа
Договоренности по работе с ветками

Система контроля версий Git

1. Система контроля версий Git

2. Централизованные VCS

3. Централизованные VCS

• Достоинства
o Централизованное администрирование
o Привычный workflow
o Управление правами доступа
• Недостатки
o
o
o
o
Единая точка отказа – сервер
Любые изменения влияют на всех пользователей
Неудобная работа с ветками – легко создать, тяжело смержить
Возможны блокировки - захват пессимистической блокировки одним
пользователем

4. Распределенные VCS

5. Распределенные VCS

• Достоинства
o
o
o
o
o
Гибкая работа с ветками
Автономность (как каждого разработчика, так и от сервера вообще)
Сборка артефактов отделена от разработки
Локальные операции работают быстро
Разделены операции фиксации изменений (commit) и публикации
изменений(push)
• Недостатки
o В каждой копии необходимо хранить всю историю изменений (иногда
считается плюсом)
o Требуется более тщательное управление доступом (иногда считается
плюсом)
o Сложны в использовании

6. Жизненный цикл Git

7. Состояния файлов

8. Работа с удаленным репозиторием

• Команда clone клонирует репозиторий и создаёт
рабочую копию
• Команда push отправляет изменения в
удаленный репозиторий
• Команда pull забирает изменения указанной
ветки из удаленного репозитория и сливает их в
текущую ветку
• Команда fetch забирает все изменения из
удаленного репозитория

9. Работа с локальным репозиторием

• Команда add добавляет измененные файлы в
stage
• Команда rm помечает файл в stage как
удаленный
• Команда reset сбрасывает изменения в
текущем stage
• Команда commit сохраняет текущий stage в
локальный репозиторий

10. Работа с ветками

• Команда branch создаёт ветку
• Команда checkout переключает рабочую копию
на другую ветку
• Команда merge сливает изменения веток
• Команда stash помещает изменения из stage во
временное хранилище и сбрасывает рабочую
копию

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

• http://proselyte.net/tutorials/git/introduction/ русскоязычная документация, начальные шаги
• https://git-scm.com/book/en/v2 - основательная
документация, почти на все случаи жизни

12. Bitbucket

• https://bitbucket.org/
• веб-сервис для хостинга проектов и их
совместной разработки, основанный на
системе контроля версий Mercurial и Git.

13. Регистрация

Заходим на https://bitbucket.org/

14. Регистрация

Вводим email, подтверждаем его

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

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

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

Открываем Git Extensions

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

19. Настройки GitExtentions

20. Пустой репозиторий

21. Создаём Hello world проект в Idea

22. Stage изменений

23. Commit&Push изменений

Commit&Push
изменений

24. История изменений

25. Создание ветки

26. Создание ветки

27. Переключение на ветку

Обновляем проект (pull или fetch)
Переключаемся на ветку - checkout

28. Делаем изменения в Hello world проекте в Idea

29. Commit изменений

30. Push изменений

31. Ветки в Bitbucket

32. Pull request ветки

33. Pull request ветки

34. Настройка доступа

35. Настройка доступа

Необходимо добавить права на чтение
следующим пользователям:
• Sergey Krupin (cft_krupin)
• Kristina Kolesnikova (k_kolesnikova)
• Nekrashevich Anastasia (nekrashevich)

36. Договоренности по работе с ветками

• каждая задача делается в новой ветке,
• когда задача готова, создается пул-реквест в
мастер
• после проверки, сдачи и апрува задачи ветка
сливается в мастер
• каждая задача – отдельный модуль идеи
English     Русский Правила