Successfully reported this slideshow.
Your SlideShare is downloading. ×

Урок 8. Системы контроля версий (VCS)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 24 Ad

Урок 8. Системы контроля версий (VCS)

Download to read offline

Виды систем контроля версий (VCS). GitHub и git. Создание локального репозитория и клонирование репозитория git с помощью IntellijIDEA.
Лекции, видео на:
https://www.examclouds.com/ru/java/java-core-russian/lesson6
Подписывайтесь на страницу:
https://www.facebook.com/Examclouds
Подписывайтесь на канал
https://www.youtube.com/c/tatyanamilkina

Виды систем контроля версий (VCS). GitHub и git. Создание локального репозитория и клонирование репозитория git с помощью IntellijIDEA.
Лекции, видео на:
https://www.examclouds.com/ru/java/java-core-russian/lesson6
Подписывайтесь на страницу:
https://www.facebook.com/Examclouds
Подписывайтесь на канал
https://www.youtube.com/c/tatyanamilkina

Advertisement
Advertisement

More Related Content

Advertisement

Урок 8. Системы контроля версий (VCS)

  1. 1. 1. Контроль версий VCS 2. Централизованные VCS 3. Распределённые VCS 4. CVCS vs. DVCS 5. GitHub и Git www.examclouds.com
  2. 2. Контроль версий VCS  Система управления версиями (VCS = Version Control System) широко применяются в проектах разработки программного обеспечения и позволяют:  хранить несколько версий одного и того же файла;  при необходимости возвращаться к более ранним версиям;  определять, кто и когда сделал то или иное изменение;  вести параллельные ветви разработки. www.examclouds.com
  3. 3. Виды VCS • Централизованные:  более старый вид VCS - использовались ещё в 70е.  Примеры: SVN, Perforce, MS TFS, ClearCase. • Распределённые:  «новое течение», первые системы – 90е, начало 2000х.  Массовое распространение – с 2005 года.  Примеры: git, Mercurial, Bazaar. www.examclouds.com
  4. 4. Централизованные VCS • Единое хранилище версий – центральный репозиторий. • Разработчик работает с локальной копией и отправляет изменения в центральный репозиторий. • Репозиторий виден всем (у кого есть доступ), и обмен кодом – только через него. www.examclouds.com
  5. 5. Распределённые DVCS • Каждый разработчик владеет копией репозитория, фактически, своим локальным «сервером» VCS. • Копии легко создавать: проще экспериментировать с кодом. • Передавать изменения можно между любой парой репозиториев. • Нет «главного» репозитория. www.examclouds.com
  6. 6. CVCS vs. DVCS 1. На DVCS можно всё то же, что и на CVCS. 2. На DVCS проще выполнять слияние ветвей. 3. На DVCS вся история хранится локально. Можно работать оффлайн и в работа в целом быстрее. 4. Более гибкая модель обмена изменениями. 5. Разработчики привыкли к CVCS, нужно перестраиваться. 6. У CVCS ниже «порог вхождения» - для работы с DVCS надо лучше понимать концепции контроля версий. 7. В мире CVCS есть фаворит – SVN, в DVCS – git. www.examclouds.com
  7. 7. Базовый сценарий работы с VCS 1. Получить локальную «рабочую копию» кода из репозитория. 2. Внести изменения. 3. В случае необходимости: выполнить слияние (merge) изменений с новыми правками в репозитории. 4. Зафиксировать изменения в репозитории. www.examclouds.com
  8. 8. GitHub  GitHub – крупнейший веб-сервис для хостинга IT- проектов и их совместной разработки. Основан на системе контроля версий Git.  Сервис абсолютно бесплатен для проектов с открытым исходным кодом.  Слоган сервиса «Social Coding» – «Пишем код вместе». GitHub часто называют социальной сетью для программистов. www.examclouds.com
  9. 9. Начало работы с git 1. Устанавливаем git. https://git-for-windows.github.io// www.examclouds.com
  10. 10. Настройка IntelliJ IDEA Заходим в IntelliJ IDEA. Надо убедиться, что IDE знает где находится исполняемый файл git: 1. Выбираем наш проект и в верхнем меню выбираем: File->Settings. 2. Раскрываем список подпунктов "Version Control" щелкнув на треугольник. 3. Затем выбрать подпункт “Git”. Справа будет поле "Path to Git exetutable" оно должно быть заполнено и указывать на правильное расположение, если нет - укажите правильные данные. C:Program FilesGitbingit.exe - для Windows. www.examclouds.com
  11. 11. Создание git-репозитория  Первый подход — импорт в Git уже существующего проекта или каталога.  Второй — клонирование уже существующего репозитория с сервера. www.examclouds.com
  12. 12. Инициализации локального git-репозитория 1. Для инициализации локального git-репозитория в верхнем меню нажимаем пункт VCS ->Import into Version Control->Create Git Repository. 2. Выбираем путь где хотим инициализировать репозиторий (можно оставить по-умолчанию). 3. Для публикации проекта на GitHub в верхнем меню нажимаем пункт VCS -> Import into Version Control -> Share Project on GitHub. www.examclouds.com
  13. 13. Состояния файлов в рабочем каталоге  Отслеживаемые файлы — это те файлы, которые были в последнем слепке состояния проекта (snapshot) или подготовлены к коммиту. Они могут быть:  неизменёнными,  изменёнными,  новые (added).  Неотслеживаемые файлы — это всё остальное, любые файлы в вашем рабочем каталоге, которые не входили в ваш последний слепок состояния и не подготовлены к коммиту. www.examclouds.com
  14. 14. Add  Для того чтобы начать отслеживать (добавить под версионный контроль) новый файл, используется команда git add. www.examclouds.com
  15. 15. Commit  Commit (коммит) – сохранение состояния своего проекта в репозиторий Git. Каждый раз, когда вы делаете коммит, то есть сохраняете состояние своего проекта в Git’е, система запоминает как выглядит каждый файл в этот момент, и сохраняет ссылку на этот снимок. Для увеличения эффективности, если файлы не были изменены, Git не запоминает эти файлы вновь, а только создаёт ссылку на предыдущую версию идентичного файла, который уже сохранён. www.examclouds.com
  16. 16. Fetch  Данная команда связывается с указанным удалённым проектом и забирает все те данные проекта, которых у вас ещё нет. После того как вы выполнили команду, у вас должны появиться ссылки на все ветки из этого удалённого проекта. Теперь эти ветки в любой момент могут быть просмотрены или слиты.  Важно отметить, что команда fetch забирает данные в ваш локальный репозиторий, но не сливает их с какими-либо вашими наработками и не модифицирует то, над чем вы работаете в данный момент. Вам необходимо вручную слить эти данные с вашими, когда вы будете готовы. www.examclouds.com
  17. 17. Push  Когда вы хотите поделиться своими наработками, вам необходимо отправить (push) их в главный репозиторий.  Эта команда срабатывает только в случае, если вы клонировали с сервера, на котором у вас есть права на запись, и если никто другой с тех пор не выполнял команду push.  Если вы и кто-то ещё одновременно клонируете, затем он выполняет команду push, а затем команду push выполняете вы, то ваш push точно будет отклонён. Вам придётся сначала вытянуть (pull) их изменения и объединить с вашими. Только после этого вам будет позволено выполнить push. www.examclouds.com
  18. 18. Pull  Автоматически извлекает и затем сливает данные из удалённой ветки в вашу текущую ветку.  Этот способ может оказаться более простым или более удобным.  К тому же по умолчанию команда git clone автоматически настраивает вашу локальную ветку master на отслеживание удалённой ветки master на сервере, с которого вы клонировали (подразумевается, что на удалённом сервере есть ветка master).  Выполнение git pull, как правило, извлекает (fetch) данные с сервера, с которого вы изначально склонировали, и автоматически пытается слить (merge) их с кодом, над которым вы в данный момент работаете. www.examclouds.com
  19. 19. Метки  Git имеет возможность помечать (tag) определённые моменты в истории как важные. Как правило, этот функционал используется для отметки моментов выпуска версий (v1.0, и т.п.). www.examclouds.com
  20. 20. Ветвление в Git  Ветвление означает, что вы отклоняетесь от основной линии разработки и продолжаете работу, не вмешиваясь в основную линию.  Git хранит данные не как последовательность изменений или дельт, а как последовательность снимков состояния (snapshot).  Ветка в Git'е — это просто легковесный подвижный указатель на один из коммитов.  Ветка по умолчанию в Git'е называется master. www.examclouds.com
  21. 21. Работа с удалёнными репозиториями  Удалённые репозитории — это модификации проекта, которые хранятся в интернете или ещё где-то в сети.  Их может быть несколько, каждый из которых, как правило, доступен для вас либо только на чтение, либо на чтение и запись. www.examclouds.com
  22. 22. Добавить пользователей в свой репозиторий www.examclouds.com
  23. 23. Ответвление репозиториев  Если вы хотите внести вклад в существующий проект, на отправку изменений в который у вас нет прав, GitHub приветствует ответвления. Когда вы смотрите на страницу заинтересовавшего вас проекта и хотите немного поработать над ним, вы можете нажать на кнопку "Fork" в заголовке проекта, чтобы GitHub скопировал проект вашему пользователю, и вы смогли отправлять туда свои изменения. www.examclouds.com
  24. 24. Лекции, видео на:  https://www.examclouds.com/ru/java/java-core- russian/lesson6 Подписывайтесь на страницу:  https://www.facebook.com/Examclouds  Подписывайтесь на канал https://www.youtube.com/c/tatyanamilkina www.examclouds.com

×