- Поговорим о том, как правильно хранить свои исходники
- Что такое VCS, и какие они бывают
- Почему GIT и с чем его есть?
- Создадим первый репозиторий
- Завалимся в репозиторий Лямбды
Три самые популярные платформы VCS:
- SVN
- Mercurial
- Git
- централизованная открытая VCS
svnserve
- серверная часть, в которой хранятся исходникиsvn
- клиентская часть, в которой программисты трудятся над кодом- когда код готов, он отправляется на серверную часть, где сливается с предшествующей версией
- децентрализованая VCS
- хранит данные об изменении каждого файла
- децентрализованная VCS
- хранит общие изменения всего репозитория
- гибкая система ветвления
- возможность сохранять изменения без доступа к интернету
- каждый программист клонирует не копию, а полноценную версию репозитория
- Самое популярное решение для open-source проектов
- Сколько угодно открытых репозиториев
- Приватные репозитории (если только вы не на территории Крыма)
- Объединение в организации (@lambdafrela)
- Интеграция с множеством сторонних сервисов - Slack, Trello, Travis CI, etc.
- Поддержка GIT, SVN, Hg и TFS
- Сколько угодно открытых репозиториев
- Сколько угодно приватных репозиториев
- Объединение в организации
- Гибкая настройка прав доступа
- Вобственный сервис continous integration
- Можно запускать на своем сервере
- Сколько угодно открытых репозиториев
- Сколько угодно приватных репозиториев
- Объединение в организации
- Собственные клиенты на ПК и Android
- Интеграция с enterprise-сервисами Atlassian - Jira, etc.
Дадим системе понять, кто мы такие:
git config --global user.name "John Doe"
git config --global user.email foo@citrix.com
- Создадим папку с нашим будущим проектом
mkdir myfirstrepo
- Зайдем в папку
cd myfirstrepo
- Инициализируем репозиторий
git init
Любой git-репозиторий состоит из трех "деревьев", в которых хранятся изменения:
working directory
- рабочая папка, в которой содержатся файлы в отредактированном видеIndex
- выступает в роли "временного фиксатора"HEAD
- файлы находятся в состоянии последнего сделанного коммита
git status
git add .
- Ппоговорим о том, как правильно хранить свои исходники
git commit -m "my first commit"
Поступим, как нам советуют на Github, в случае, если репозиторий уже существует:
- Добавим remote по имени origin, т.е. путь к серверу, на котором будет храниться код
git remote add origin https://github.com/murych/myfirstproject.git
- Зальем наш код в remote в ветку master
git push -u origin master
- Введем логин и пароль
А теперь - немного практики! Найдем репозиторий нашего сообщества, сохраним себе, и даже внесем небольшой вклад в общее дело!
- заходим на Github и ищем пользователя
lambdafrela
- выбираем репозиторий
myfirstproject
и создадем форк репозитория, т.е. вашу личную его копию, над которой вы имеете полную власть
- склонируем репозиторий на свой компьютер
git clone https://github.com/murych/myfirstproject.git
- создадим файл под названием
ваше_имя.txt
, в который запишем ваш email
- сделаем коммит и запушим изменения в форк
- теперь, когда наши изменения есть в форке, мы можем сделать запрос на добавление их в исходный репозиторий Pull Request
- в поле base fork укажем исходный репозиторий
- в поле head fork укажем свой форк
- нажмем на кнопку Create pull request
Возьмите любой свой проект, создайте для него репозиторий на github и залейте в него код своего проекта.
Если очень хочется приватных репозиториев - для студентов бесплатно (https://education.github.com/)
- ближе познакомимся со структурой git репозиториев
- научимся создавать ветки
- научимся откладывать изменения до лучших времен
- поговорим о каноничном workflow
- немного tips&tricks
Данную лекцию подготовил Тимур Майзенберг