Uploaded by Андрей Землевский

Установка и настройка Git

advertisement
Установка/настройка Git в сети DX
Установка Git/LFS
https://git-scm.com/download/win
Установить Git и поддержку LFS (см. рисунок 1)
Выбрать Notepad++ в качестве текстового редактора (или использовать другой по вкусу, если нет
религиозных предубеждений, то качать здесь https://notepad-plus-plus.org/)
Выбрать вариант использования Git из командной строки
Выбрать вариант SSL для доступа по HTTPS
Важно! Выбрать конверсию CRLF как показано на рисунке
По собственным предпочтениям выбрать эмулятор терминала
Указать дополнительные опции
И выполнить собственно инсталляцию
Подключение к серверу Git (GitLab)
В браузере http://gitserver
Имя пользователя: корпоративный e-mail
Пароль: восстановить при первом подключении, потребуется подтверждение по e-mail +
(возможно) подтверждение от Макса Литвинова.
Если работаем через VPN, то соответственно сначала подключиться к VPN 😊
Генерация ключа и настройка доступа по SSH
На сервере Git, в User Settings/SSH Keys сгенерировать новый ключ или добавить существующий
ключ SSH если он у вас есть.
Если ключ сгенерирован заново, то:
1. Скопировать в клипборд содержимое публичного ключа (начинается с ssh-rsa)
2. В домашнем каталоге (C:\Users\имя_пользователя) создать каталог .ssh
3. В каталоге .ssh создать текстовый файл (например id_rsa.pub) и вставить в него
содержимое из клипборда
4. В каталоге .ssh создать текстовый файл config с таким содержанием
# Private GitLab server
Host gitserver
IdentityFile ~/.ssh/id_rsa
Проверить подключение по SSH
> ssh -Tv git@gitserver
Получение прав доступа к репозиторию
Если еще не получены права доступа к репозиторию, то:
1.
2.
3.
4.
Войти на http://gitserver под своим именем и паролем
Выбрать меню Groups/Explore groups
Найти группу Cross Platform
Запросить права доступа (кнопка Request Access под названием группы)
Fork и клонирование репозитория
Войти на http://gitserver под своим именем и паролем.
Выбрать пункт меню Projects/Explore projects.
Выбрать репозиторий CrossPlatform / Core
Выполнить ветвление проекта командой Fork (создать свою копию репозитория)
Выполнить клонирование репозитория на свой компьютер:
1. Войти в свой форк на сервере GitLab (http://gitserver) и скопировать адрес репозитория в
клипборд (адрес форка будет включать ваше имя пользователя, например:
git@gitserver:roman/Core.git)
2. На каком-либо разделе жесткого диска создать каталог, в который будет склонирован
репозиторий (например D:\Work)
3. Запустить командную строку, перейти в созданный каталог и выполнить клонирование
вашего форка командой git clone. При этом последним аргументом указать имя бранча,
например:
> git clone git@gitserver:roman/Core.git 2018.2
4. Перейти в оглавление соответствующее имени бранча (например 2018.2)
5. Переключиться на нужный вам бранч
> git checkout 2018.2
6. Настроить upstream (т.е. добавить ссылку на оригинальный репозиторий из которого был
сделан форк)
> git remote add upstream git@gitserver:CrossPlatform/Core.git
7. Проверить настройку вызовом git remote
> git remote -v
origin git@gitserver:roman/Core.git (fetch)
origin git@gitserver:roman/Core.git (push)
upstream
git@gitserver:CrossPlatform/Core.git (fetch)
upstream
git@gitserver:CrossPlatform/Core.git (push)
8. Синхронизацию форка с upstream смотри здесь https://help.github.com/articles/syncing-afork/
9. Настроить имя пользователя и e-mail https://help.github.com/articles/setting-your-usernamein-git/
Что получилось в итоге?
upstream: CrossPlatform/Core
origin: YourFork/Core
Local Repository
При этом upstream и origin располагаются на сервере (remote), а локальный репозиторий на
вашем компьютере.
Подготовка к работе
Если для синхронизации локального репозитория с upstream и получения готовых сборок
DeveloperBuild предполагается использовать скрипт dxupdate.py, то необходимо выполнить
следующий действия:
1. Установить Python 3 https://www.python.org/downloads/ (при инсталляции добавить в
PATH)
2. Создать каталог C:\Work
3. Создать линк на каталог в котором расположен локальный репозиторий
> mklink /j c:\work\2018.2 d:\work\2018.2
4. При помощи DXVCS забрать содержимое папки ~\2018.2\Bin
Получение изменений из upstream и девелоперских сборок
1. Перейти в каталог C:\Work\2018.2
2. Запустить dxupdate (для успешного выполнения скрипта необходимы права
администратора)
> python dxupdate.py --update
3. По окончании выполнения содержимое локального репозитория будет синхронизировано
с upstream (по состоянию для которого был собран DeveloperBuild) + в оглавление
Bin\Framework4 будут скопированы и зарегистрированы в GAC готовые сборки из
DevelopeBuild
4. Текущий статус локального репозитория по отношению к origin можно посмотреть
командой
> git status -v
5. После выполнения dxupdate возможна ситуация когда изменения в локальном
репозитории, полученные из upstream отсутствуют в origin. Их можно передать в origin
вызовом
> git push
Работа с изменениями в локальном репозитории
Варианты:
1. Плагин Git в VisualStudio
2. Интерфейс командной строки
3. Сторонние утилиты (например Atlassian SourceTree)
Использование плагина Git в VisualStudio
1. В VisualStudio выбрать меню Tools/Options
2. В диалоге Options выбрать Source Control / Plug-In Selection, выбрать Git в качестве
используемой системы контроля версий. При одновременном использовании с DXVCS и
наличия в проекте/солюшене биндинга VSS эта настройка может «слетать» и вместо нее
будет появляться DXVCS (если установлен плагин) или None.
3. После открытия решения в VisualStudio и открытия репозитория в строке статуса появятся
индикаторы и кнопки для работы с репозиторием Git
z
4. При наличии изменений в коде, их количество будет отображаться в строке статуса, а
список изменений в окне Team Explorer. При помощи окна Team Explorer можно
выполнить коммит (изменения будут внесены в origin), отмену изменений, просмотреть
что именно поменялось (Compare with unmodified) и кем (Blame).
Интерфейс командной строки
Более подробно см. https://1drv.ms/b/s!AtOaYTXA3_iekDMUpzK_BJSAm25l
Запросить статус
> git status -v
Переключиться на указанный бранч (в данном случае имя бранча «2018.2»)
> git checkout 2018.2
Забрать изменения в локальный репозиторий из указанного бранча upstream’а
> git pull upstream 2018.2
Передать изменения из локального репозитория в указанный бранч origin’а
> git push origin 2018.2
Добавить изменения в staged состояние
> git add -p .
Создать коммит
> git commit -m “Комментарий”
Накатить изменения в другой бранч (по хэш коду коммита):
1) получить хэш код
> git log
находим нужный коммит и копируем хэш
3) переключаемся на бранч, в который хотим накатить изменения (2018.1 для примера). Лучше
перейти при этом в папку с нужной версией (2018.1)
> git checkout 2018.1
4) обновляем исходники
> git pull upstream 2018.1
5) накатываем изменения
> git cherry-pick ef55286d2a8e216faa8f379491aa3941fade8fe6
Передача изменений в upstream / Merge request
В своем форке на http://gitserver создать мерж-реквест
Назначить мерж-реквест тестеру (найти тестер в выпадающем списке проще всего набрав “test”)
Нажать кнопку “Submit Merge Request”. Убедиться что pipeline тестера стартовал и выполняется.
По завершении pipeline’а на почту или в центр нотификаций Windows (в зависимости от настроек)
придет соответствующее извещение. Если pipeline завершился успешно, назначить мерж-реквест
на dxvcs2git.platform (который передаст изменения в DXVCS).
В случае если тестер завершился с ошибкой, посмотреть/скачать артефакты соответствующей
задачи.
Download