Системы контроля версий и клиенты для Windows: GIT и GitExtension
Автор: Кулик Алексей aka kpblc | Дата: 19 Март 2014 · 2 коммент.
GIT и GitExtension
При установке выбираем “Устанавливать для всех пользователей”:
Выбираем установку всех дополнительных элементов:
MsysGit требуется для корректной работы GitExtension, KDiff– для поиска различий в файлах и корректного их слияния.
Если планируется интеграция этого расширения с VisualStudio, устанавливаем соответствующие элементы:
GitExtension – единственный клиент, напрямую интегрирующийся в VisualStudio. Поскольку я не особо его тестировал, пропущу это дело. Я как-то предпочитаю вручную отслеживать изменения.
Точно так же, как и для SourceTree, устанавливаем в качестве SSH-клиента PuTTY:
При установке самого MsysGit следует обратить внимание на несколько моментов:
- Дополнительные иконки я ставил – вреда от них никакого, а удалить их можно в любой момент.
- Интеграцию с WindowsExplorerя не менял, посчитав, что расширенное меню лучше упрощенного
- Я устанавливал самую нижнюю галочку (Использовать TrueType-шрифты для консоли), чтобы не получить в консоли (если она понадобится) непонятные символы в качестве сообщений.
Следом идет запрос на метод запуска GIT:
Фактически идет выбор между первым и вторым вариантами. Первый – использование только командной строки git, без изменения переменной PATH. Если не пугает достаточно большое количество текста, которое придется вводить вручную – можно и эту опцию выбрать. Но я предпочел вторую: использовать git внутри командной строки Windows.
Следом идет выбор, что делать с символами окончания и перевода строк (как в исходниках, так и в коммитах):
Учитывая, что будут отслеживаться не только исходные файлы, но и битовые (те же самые dwg), лучше оставить все «без изменений», т.е. третья опция.
Все, на этом выбор опций завершен, продолжаем установку.
После установки необходимо выполнить некоторую настройку GitExtension:
Для начала установим имя пользователя и адрес электронной почты (по уже установившейся привычке я ставлю реальные значения).
После окончания установки, как обычно, выполняем substдля подключения виртуального диска, а также внутри этого диска создаем каталог VersionControlдля центрального репозитория.
Второй состоит в вызове окна GitExtensionи выборе в нем соответствующего действия:
В принципе, разницы никакой – просто во втором случае понадобится указывать каталог, в котором будет создаваться репозиторий. Оба варианта приведут к окошку вида
Особое внимание стоит обратить на “Тип репозитория”. Сейчас мы создаем именно центральный репозиторий, т.е. надо выбирать второй вариант.
После нажатия кнопки ОК появится сообщение о том, что пустой репозиторий в каталоге v:\VersionControl успешно создан и инициализирован.
В принципе, неважно, каким путем идти – главное добиться хотя бы готовности GitExtension к выполнению коммита.
И вот тут я обнаружил момент, которого в SourceTree, например, не было.
GitExtension предоставляет встроенный модуль редактирования .gitignore. После нажатия соответствующего пункта меню появится окно вида:
Здесь я показал уже отредактированный .gitignore (по аналогии с тем, который создавался в SourceTree).
Подключение внешнего репозитория (который центральный) выполняется очень просто (не сложнее чем в SourceTree):
В диалоговом окне указываем псевдоним репозитория и каталог его расположения.
Нажимаем “Сохранить”.
Теперь осталось только “Отправить” нашу рабочую копию в центральный репозиторий:
Устанавливаем все настройки:
Обязательно устанавливаем “Подкаталог для создания” – у меня при пустом значении ничего не срабатывало. Может, я еще где накосячил, но разбираться было некогда.
Итак, если все сделано верно, в каталоге c:\git_temp\ВашПодкаталог появятся все файлы и каталоги, которые были установлены для отслеживания.
Каталоги и файлы включают в себя неанглийские символы. Вернемся в GitExtension – и при попытке выполнить коммит получим вылет программы.
Значит, придется переименовывать каталоги по аналогии с тем, как мы делали в SourceTree. При этом следует учесть: если в SourceTree было достаточно поменять первый символ, то в GitExtension надо менять наименование каталога полностью, без вариантов.
Удалим некоторые файлы и каталоги и вызовем GetExtension. Выберем наш локальный репозиторий:
Вверху окна видно, что требуется выполнить коммит:
Ну раз так просят, сделаем:
Отправляем изменения в центральный репозиторий:
При выполнении Push (отправка изменений в репозиторий) проверьте ветку, из которой и в которую выполняется перенос данных.
После выполнения Push’a открываем репозиторий V:\VersionControl (для проверки, что же там сейчас творится). Открываем закладку “Дерево файлов” и видим, что каталогов db, config и т.п. уже нет.
В то же время, если активировать предыдущий коммит, все файлы и каталоги будут на месте:
> Учитывая, что будут отслеживаться не только исходные файлы, но и битовые (те же самые dwg), лучше оставить все «без изменений», т.е. третья опция.
Или первая... Это смотря кто откуда привык считать (я всегда читаю и считаю сверху вниз).
Замечание по тексту: оченьмногословлепишьбезпробела. Возможно, что у тебя плохо работает клавиша пробела (как на моём ноутбуке).