Работа с проектами на Visual Studio с использованием TortoiseGit и GitVerse-сервером
Это первая часть, далее см. часть 2
Основные сущности:
Репозиторий — некий каталог файловой системы, в котором находятся служебные файлы гит помимо файлов.
Локальный репозиторий — репозиторий, расположенный на локальном компьютере разработчика в каталоге. Именно в нём происходит разработка и фиксация изменений, которые отправляются на внешний репозиторий. Часто в руководствах пишут "удалённый", но слово внешний понятнее.
Внешний репозиторий — репозиторий, находящийся на удаленном сервере. Это общий репозиторий, в который приходят все изменения, и из которого забираются все обновления.
Коммит (Commit) — это объект, содержащий информацию об изменённых файлах. Представляйте его себе в виде zip-архива с подписью-хешем.
Ветка (Branch) — это отдельная история изменений (коммитов) в рамках одного репозитория.
Часть 1. Установка и первоначальная настройка
1.1. Установка git на локальную машину
Скачать и установить с официального сайта Git.
Git (произносится «гит») — распределённая система управления версиями. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года.
1.2. Установка git-клиента TortoiseGit на локальную машину
Скачать и установить с официального сайта TortoiseGit. При установке, всё выбираем по умолчанию. Далее-далее.
TortoiseGit — визуальный клиент системы управления исходными кодами программ Git для ОС Microsoft Windows. Реализован как расширение проводника Windows (shell extension). Подрисовывает иконки к файлам, находящимся под управлением Git, для отображения их статуса в Git.
1.3. Регистрация на gitverse
Российская платформа, аналог github. Идём на страницу регистрации: Регистрация - Cloud.ru Console:
Там пришлось ввести - почту, телефон и еще настроить двухфакторную авторизацию. Если не устраивает, то надо поискать другой сервис. В результате успешной регистрации оказываюсь на главной странице:
1.5. Создание внешнего репозитория на сервере
Создаём новый репозиторий по шагам. Нажимаем кнопку на домашней странице "+ Новый репозиторий". Не забываем указать, что он публичный, добавляем файл readme, который удобен тем, что можно сразу его редактировать и репозиторий будет непустой. Добавляем .gitignore
, в котором будем фильтровать файлы, чтобы не все загружались в репозиторий. Выглядит примерно так:
Результат создания:
1.6. Клонирование на локальную машину
Воспользуемся черепашкой для клонирования репозиториев. Для удобства я создал папку C:/GIT
. У вас она может быть другая. Правой кнопкой на свободном месте и выбираем ToirtoiseGit->Clone
Появляется окно с полями ввода и чекбоксами. В верхний вставляем путь для https-ссылки. В репозитории нажимаем на кнопку КОД, убедимся что выбран HTTPS, затем щёлкаем на адрес ниже. Должна подсветиться галочка, что адрес скопирован
Вставили URL, локальный каталог заполнился автоматически:
Галочки не трогаем. Нажимаем OK. В результате у вас должно успешно скопироваться:
Проверяем файлы, переходим в каталог C:/GIT/TestModule
Всё что нужно - readme, ignore. Отмечены зелеными галочками - синхронизировано с внешним репозиторием.
В файле README.md
находится текст:
1.7. Проверка обновления из внешнего репозитория
Мы проверяем, что прицепились к внешнему репозиторию и можем скачивать обновления. Сейчас в web-интерфейсе дополним текст README и вытащим обновление в локальную репу. Во внешнем репозитории переходим на файл README по ссылке. Внизу страницы мы можем перейти к редактированию в браузере:
Нажимаем кнопку и добавим текст "Строка из веб-редактора":
Добавили строку и нажимаем сохранить. Там всё по-умолчанию, можно комментариев не давать. В результате будет оповещение о создании коммита:
Проверяем историю. Нажимаем кнопку коммиты, кстати их стало 2 шт. Был один.
Можете щелкнуть на коммит и увидеть какие были изменения. Очень полезно. Теперь черепашкой вытащим обновление в каталог на локальной машине. Для этого кликаем на пустое место в каталоге C:/GIT/TestModule
и выбираем git pull в черепашке.
Вылезет окно с продвинутыми настройками, оставляем всё как есть. Нажимаем OK. При получении файлов обращаем внимание на изменения, которые мы утащили из внешнего репозитория.
Проверяем README.md на локалке и видим текст:
1.7. Проверка пуша коммита
Здесь нам надо проверить, что мы не только умеем стягивать изменения, но и заливать из локальной машины на сервер. Для этой операции необходимо вводить пароли, если скачивали через HTTPS, как в нашем примере. Либо, надо настраивать паку SSH-ключей и работать через SSH. Мы продолжим с HTTPS.
В веб-интерфейсе Настройки | Аккаунт задаём пароль для доступа по HTTPS:
Теперь переходим к локальному каталогу. Добавляем строку в файл C:/GIT/TestModule/README.md
через блокнот (ну или другой ваш текстовый редактор). В итоге должно быть содержимое:
Когда вы сохраните, лампочка файла будет красная:
Это значит, мы разъехались с внешним репозиторием. Так и должно быть. Нажимаем на пустое место в каталоге и выбираем TortoiseGit->Git Commit
. Вылезет диалоговое окно. Там указываем сообщение:
Затем жмём commit. Успешно:
Теперь пушим изменения в репозиторий, нажимаем Push внизу. Вылезает диалоговое окно пуша, там ничего не меняем, нажимаем OK. Для первого раза вылезет Git Credential manager, где указываем учётку - сокращённое имя пользователя и пароль, указанный в настройках аккаунта:
Успешный результат:
Проверяем в веб-интерфейсе:
Готово! Для надёжности сохранения данных учётки, можете записать еще строку и сделать коммит.