Windows client for gitlab

10 лучших GUI-клиентов Git для разработчиков

Перевод статьи «Top 10 Best GUI Git Client for Developers».

Git — это система контроля версий для отслеживания изменений в файлах. Обычно используется в командной работе, особенно в среде программистов.

Несмотря на то, что многие пользователи вполне комфортно себя чувствуют, пользуясь Git при помощи командной строки, для этого инструмента есть достаточное количество графических интерфейсов. Эти GUI-клиенты способны существенно ускорить вашу работу с системой контроля версий, особенно, если вы еще не слишком хорошо с ней знакомы.

(Примечание редакции. Любопытно, что на сайтах вопросов и ответов многие отмечают, что использование GUI сильно упрощает рутинную работу, когда вы уже хорошо знакомы с принципом работы и командами Git).

Если вы ищете идеальный графический интерфейс для управления своим репозиторием на Mac, Windows или Linux, вам повезло: сейчас мы вам расскажем о лучших GUI-клиентах Git.

1. GitHub Desktop

GitHub Desktop это совершенно бесплатное приложение с открытым исходным кодом, разработанное GitHub. С его помощью можно взаимодействовать с GitHub (что и не удивительно), а также с другими платформами (включая Bitbucket и GitLab).

Функционал приложения позволяет легко замечать пул-реквесты в ветках, а также просматривать различия в версиях изображений и блоков кода. При этом элементы для дальнейшего управления можно добавлять в приложение даже путем перетаскивания.

Приложение доступно для macOS и Windows.

2. Fork

Fork это весьма продвинутый GUI-клиент для macOS и Windows (с бесплатным пробным периодом). В фокусе этого инструмента скорость, дружественность к пользователю и эффективность. К особенностям Fork можно отнести красивый вид, кнопки быстрого доступа, встроенную систему разрешения конфликтов слияния, менеджер репозитория, уведомления GitHub.

С помощью этого инструмента вам будут доступны интуитивный rebase в красивом UI, GIT LFS, cherry-pick, подмодули и многое другое.

3. Tower

Tower это платный графический интерфейс Git для macOS и Windows. В настоящее время это один из ведущих профессиональных инструментов подобного типа. С его помощью вы сможете лучше познакомиться с системой контроля версий. Вам будут доступны в визуальном представлении все действия, которые можно совершать в Git. Сюда входит и разрешение конфликтов слияния, и совместная работа над проектами.

Есть бесплатный пробный период.

4. Sourcetree

Sourcetree это бесплатный GUI Git для macOS и Windows. Его применение упрощает работу с контролем версий и позволяет сфокусироваться на действительно важных задачах.

Красивый пользовательский интерфейс дает возможность прямого доступа к потокам Git. К вашим услугам локальный поиск по коммитам, интерактивный rebase, менеджер удаленных репозиториев, поддержка больших файлов. Все происходящее вы можете видеть наглядно, а это очень облегчает понимание процессов.

Sourcetree был разработан Atlassian для Bitbucket, но вполне может использоваться в сочетании с другими Git-платформами. Имеет встроенную поддержку Mercurial-репозиториев.

5. SmartGit

SmartGit это Git-клиент для Mac, Linux и Windows. Имеет богатый функционал. Поддерживает пул-реквесты для SVN, GitHub и Bitbucket. В арсенале SmartGit вы найдете CLI для Git, графическое отображение слияний и истории коммитов, SSH-клиент, Git-Flow, программу для разрешения конфликтов слияния.

SmartGit может использоваться бесплатно в некоммерческих проектах.

6. Sublime Merge

Sublime Merge это клиент Git для Mac, Windows и Linux. Это детище тех же разработчиков, которые создали редактор кода Sublime Text.

Sublime Merge отличается высокой производительностью, а также отличным функционалом для слияния, поиска, просмотра различий между версиями. Базовой версией можно пользоваться бесплатно.

7. GitKraken

GitKraken это кроссплатформенный GUI Git для использования с различными платформами контроля версий (включая GitHub, Bitbucket, GitLab). Его цель — повысить вашу продуктивность в использовании Git. Для этого вам предоставляется интуитивный UI, возможность отслеживать задачи, встроенный редактор кода, редактор конфликтов слияния и поддержка интеграции с другими платформами.

Коммерческое использование платное. Также придется купить Pro-версию, если хотите получить расширенный функционал.

Доступен для Mac, Windows и Linux.

8. GitUp

GitUp это бесплатный (open-source) клиент Git для пользователей Mac. В этом инструменте упор сделан на скорость, простоту, эффективность и легкость использования. Он позволяет вам напрямую взаимодействовать с базой данных хранилища, в результате чего работает куда быстрее аналогов.

В GitUp вы найдете графическую альтернативу для всех функций Git и интуитивно понятную реализацию команд ввода.

9. Aurees Git Client

Это бесплатное приложение для использования Git на Mac, Windows и Linux. Создано оно для ускорения работы, связанной с контролем версий.

Здесь вы найдете отличный функционал для просмотра и редактирования разницы в версиях (с подсветкой), предварительный просмотр слияния версий, хорошую систему разрешения конфликтов слияния.

10. GitBlade

GitBlade — это красивый клиент Git для платформ Mac, Windows и Linux. В нем вы найдете все функции, необходимые в ежедневной работе с Git-проектами (инструменты merge, визуальное отображение связанных веток и коммитов, режим просмотра различий между версиями, визуализация истории файла).

Всеми базовыми функциями можно пользоваться бесплатно (а более продвинутыми — 14 дней пробного периода).

Это была десятка лучших клиентов Git с графическим интерфейсом. Все они подходящи для использования в Mac, большинство — в Windows и лишь некоторые — в Linux. Мы (редакция Techrocks) решили исправить эту небольшую несправедливость и добавить парочку клиентов Git для Ubuntu, которые не вошли в общий список. Описания — из статьи «Best 10 Git GUI Clients for Ubuntu».

11. Git Cola

Git Cola это совершенно бесплатный клиент Git для Ubuntu и других дистрибутивов Linux, а также Windows и macOS. Один из самых лучших и быстрых инструментов такого типа. Он прост в работе, но отлично справляется со всеми основными задачами, возникающими при работе с версиями.

Читайте также:  Windows 10 озу оптимизация

12. GitEye

GitEye — простой в использовании клиент Git с графическим интерфейсом, созданный CollabNet. Поставляется в комплекте с несколькими инструментами, помогающими повысить продуктивность разработки ПО. Например, Gerrit Code Review выводит уведомления об изменениях или обновлениях в коде.

GitEye имеет понятный и очень мощный интерфейс, в котором все так хорошо продуманно, что пользователю не придется долго искать нужные функции.

Этот клиент Git хорошо интегрируется с другими популярными инструментами, такими как Bugzilla, Jira, Hudson, Jenkins и пр.

Есть версии для Windows, Linux и Mac.

И напоследок — графический пользовательский интерфейс в виде сайта.

13. UnGit

Этим GUI вы можете пользоваться на любой платформе. После установки UnGit запускает локальный веб-сервер, прослушивающий отдельный порт. Благодаря этому вы получаете интерактивную веб-страницу для вашего репозитория, которую можете открыть в любимом браузере.

UnGit также доступен в виде плагинов для Atom и Sublime Text.

Несмотря на то, что все приложения, о которых мы рассказали, обладают схожим функционалом, каждое из них имеет свои отличительные особенности. Эти особенности позволяют им выделяться среди аналогов в какой-то отдельной области, так что каждый разработчик сможет подобрать подходящий инструмент для своих нужд.

Источник

GitLab — Установка

Вы можете установить GitLab Runner в разных операционных системах, установив систему контроля версий Git и создав учетную запись пользователя на сайте GitLab.

Git — система контроля версий, используемая для —

GitLab — это основанная на Git платформа, предоставляющая удаленный доступ к репозиториям Git и полезная для цикла разработки программного обеспечения, создавая частные и публичные репозитории для управления кодом.

GitLab поддерживает различные типы операционных систем, таких как Windows, Ubuntu, Debian, CentOS, open SUSE и Raspberry Pi 2. В этой главе мы обсудим, как установить GitLab в операционных системах Windows и Ubuntu.

Установка GitLab на Windows:

Шаг 1 — Сначала создайте папку с именем «GitLab-Runner» в вашей системе. Например, вы можете создать на диске C как C: \ GitLab-Runner.

Шаг 3 — Откройте командную строку и перейдите в созданную папку. Теперь введите приведенную ниже команду и нажмите ввод.

Шаг 4 — После выполнения вышеупомянутой команды она попросит ввести URL-адрес координатора gitlab-ci.

Шаг 5 — Введите токен gitlab-ci для бегуна.

Чтобы получить токен, войдите в свою учетную запись GitLab —

Чтобы получить токен, войдите в свою учетную запись GitLab —

Теперь перейдите к вашему проекту —

Теперь перейдите к вашему проекту —

В разделе « Настройки бегунов » вы получите токен, как показано на рисунке ниже —

В разделе « Настройки бегунов » вы получите токен, как показано на рисунке ниже —

Шаг 6 — Введите описание gitlab-ci для бегуна.

Шаг 7 — Он попросит ввести теги gitlab-ci для бегуна.

Вы можете изменить эти теги в пользовательском интерфейсе GitLab позже.

Шаг 8 — Вы можете привязать Runner к текущему проекту, установив для него значение true.

После выполнения описанных выше шагов вы получите сообщение об успешной регистрации: «Регистрация участника … выполнена успешно».

Шаг 9 — Теперь введите Runner executor для построения проекта.

Мы использовали селектор как «докер», который создает среду сборки и легко управляет зависимостями для разработки проекта.

Шаг 10 — Затем он попросит установить изображение по умолчанию для селектора докеров.

Шаг 11 — После выполнения вышеуказанных шагов на экране появится сообщение «Бегун успешно зарегистрирован». На изображении ниже будет описан рабочий процесс вышеуказанных команд —

Шаг 12 — Теперь перейдите к своему проекту, нажмите на опцию CI / CD в разделе « Настройки », и вы увидите активированных бегунов для проекта.

Вы можете увидеть конфигурацию GitLab Runner в файле config.toml в папке GitLab-Runner, как показано ниже —

Установка GitLab на Ubuntu

Следующие шаги описывают установку GitLab в Ubuntu —

Шаг 1 — Сначала войдите на ваш сервер GitLab с помощью SSH (Secure Shell).

Шаг 2 — Затем загрузите пакет Omnibus —

Шаг 3 — Установите постфикс —

Postfix — это агент передачи почты с открытым исходным кодом, используемый для доставки уведомлений по электронной почте.

Шаг 5 — Установите dpkg (менеджер пакетов для системы Debian) для управления установленными пакетами —

Шаг 6 — Чтобы изменения вступили в силу, вам нужно перенастроить GitLab с помощью следующей команды:

Шаг 7 — Проверьте состояние сервисов GitLab с помощью команды ниже —

Источник

Git GUI моей мечты

Я разработчик игр и мобильных приложений. Я написал немало кода на C++ и Swift. И, как и многие из вас, я пользуюсь системами контроля версий, в частности, гитом.

Гит имеет максимально функциональный command-line интерфейс и десятки если не сотни приложений для работы с ним локально при помощи графического интерфейса, которые умеют выполнять только часть функционала гита. Беда в том, что я пишу код уже 10 лет, но никак не нашел идеальный (подходящий для меня) git GUI клиент. Пример: недавно вышел Github Desktop. Я его использовал до тех пор, пока мне не понадобилось сделать checkout на конкретный коммит. И я испытал уже привычную боль от того, что данное приложение так делать не умеет. И вновь вернулся в терминал (с автодополнением для гита). И такие вещи есть в каждом GUI приложении для гита. Однако, я сюда пришел не критиковать их. Уверен, что вы и без меня имеете много претензий к этим приложениям. Я долго думал о том каким должно быть идеальное git GUI приложение. Это были мимолетные обрывки желаний, из которых трудно собрать что-то цельное. И совсем недавно эти обрывки мыслей у меня собрались в единую картину. Ниже я опишу это в формате ТЗ (технического задания) в максимально понятной форме.

Идеальный Git GUI клиент

Важно чтобы интерфейс не был суперусложнен. Если юзер откроет прилажку и увидит больше 20 кнопок, то идея отстой. Бóльшая часть пользователей переключаясь на консоль для работы с гитом пишут команду git status чтобы узнать список файлов с измененным статусом. Потому наше приложение должно почти на весь экран показывать список файлов в виде иерархии, которые имеют измененный статус (примерно как проводник/finder). Туда будет входить все, что мы можем увидеть командой git status : измененные файлы, untracked файлы, добавленные и удаленные (возможно, какой-то статус я забыл). Каждый файл должен как и в консоли отображаться либо красным цветом, либо зеленым, что показывает его добавленность в коммит. На любой файл можно кликнуть правой кнопкой мыши или нажать на три точки в правой части строки чтобы вызвать контекстное меню. В контекстном меню можно добавить файл если он не добавлен ( git add команда в терминале), сделать reset если он добавлен, удалить если он не находится в индексе (clean). Еще можно кликнуть на папку правой кнопкой и добавить всю папку ( git add folder ). Аналогично работает reset. Еще можно добавить в индекс все маленькой кнопкой в верхнем левом углу дерева файлов. Можно кликнуть по строчке с файлом чтобы открыть дифф по нему на весь экран.

Читайте также:  Windows ram disk controller что это

Сверху окна есть отдельный заголовочный блок примерно как в Xcode с названием ветки и статусом того, что сейчас происходит (pulling, pushing, idle). Это все. То есть, окно по-умолчанию только показывает статус: нынешнюю ветку и статус файлов.

Далее пользователь наводит указатель мыши на нужную команду и кликает на нее. После этого происходит вызов команды если это команда без аргументов (например, pull, push, fetch). Если нужно указать аргументы, то пользователь кликает правой кнопкой на название команды (например, push) и появляется соответствующее модальное диалоговое окно с вводом аргументов (цель remote и имя ветки, а также галочка force), которые указываются мышью или горячими клавишами. К этом моменту изначально зажатый tab можно уже отпустить. Если кликнуть за пределами модального окна или нажать esc, то модальное окно закроется и вызов команды будет отменен. Если же в этом модальном окне указать аргументы и нажать кнопку push, то начнется выполнение команды. Процесс выполнения команды будет отображен на верхней панели под названием ветки.

Еще одно важное преимущество терминала над остальными git GUI приложениями это возможность склеивать команды последовательно при помощи операторов && и ||. Например, я лично в работе часто использую такую последовательность для подлития в свою ветку той ветки, от которой моя ветка была срезана:

Данная последовательность выполняет 4 операции:

переключается на ветку dev

скачивает последние изменения ветки dev

переключается обратно на ветку, на которой мы находились до ветки dev

вливает ветку dev в нынешнюю ветку

Оператор && устроен таким образом, что если одна из команд остановится из-за ошибки, то выполнение всех остальных команд не начнется. Это суперудобно, но я не видел ни одного git GUI клиента, который бы умел склеивать команды в последовательность (если вы такой знаете, то укажите это в комментариях). И я придумал как в моем потенциальном абстрактном идеальном git GUI приложении моей мечты это будет выполнено.

Отдельная фича, которая сделает использование истории гита удобнее, это хэширование хэша (да, именно так) коммита в виде эмоджи. Объясню на примере. Когда я смотрю историю коммитов, я вижу список труднозапоминаемых длинных хэшей типа такого

Эмоджи намного лучше запоминаются человеком, чем безымянные шестнадцатеричные хэши. Если везде, где мы ни показывали хэши коммитов (история или статус pull’а), показывать их эмоджи хэши, то пользователь лучше будет помнить на каком он коммите работает прям сейчас, и меньше будет ошибок когда он забыл влить другую ветку, запушить или запулить изменения. Вообще было бы здорово если бы эмоджи-хэш использовался везде: на github, bitbucket, teamcity. Это позволило бы проще сверять коммиты билдов с коммитами в истории.

Источник

Альтернативы Git for Windows

На данный момент (начало апреля 2015) «официальная» версия Git для Windows — 1.9.5, в то время как для всех остальных платформ уже доступна версия 2.3.5. Отсюда и естественный интерес к обновлению Git for Windows до актуальной версии или замене его на альтернативный дистрибутив.

После небольшого исследования были обнаружены следующие способы (дистрибутивы) использования Git на платформе Windows.

Git for Windows.

Дистрибутив, предлагаемый на официальном сайте git-scm, основан на проекте MSYS. То есть фактически это портированный на Windows Git плюс некоторое подмножество утилит GNU, необходимое для работы Git.

В настоящий момент проект переходит на другую базу — MinGW-w64 + MSYS2. Разработчики выложили Developer’s Preview версию, но на момент проверки в ней отсутствовала утилита ssh, да и проблема с добавлением других утилит, похоже, останется. Но GNU утилиты обновились до актуальных, особенно perl.

Подборка утилит от проекта MinGW-builds

Эта сборка была обнаружена практически случайно, в процессе поиска более свежей версии GCC. Содержит все необходимые мне утилиты. Но, к сожалению, уже давно не обновляется.

MSYS2

EGit/JGit

Реализация Git от Eclipse (на Java). Есть возможность вызывать из командной строки, но требуется MSYS shell, и это скорее proof-of-concept, чем нормальный способ работы.

SmartGit/Hg

Это тоже собственная реализация Git на Java. Нет нормальной возможности работать в командной строке. А так, отличный инструмент, есть Open Source License.

libgit2

Очень многообещающий проект. Делается изначально портируемым, реализация на чистом С. Но пока нет проектов, реализовавших всю функциональность Git (GUI + command line) с помощью только этой библиотеки.

Cygwin

В отличие от MSYS, реализует (или пытается) полный слой POSIX для приложений. Мне больше импонирует MSYS подход. При использовании он мне показался более тяжеловесным, по сравнению с MSYS.

Итого

Остановился на MSYS2. Понравилось то, что Git сделан в виде пакета (с зависимостями и пр.), а так же наличие свежих GNU утилит, которые легко установить из пакетов.

Далее будут описаны: замечания, появившиеся в процессе эксплуатации, возможные затруднения и пути их решения.

Установка

1. Скачать 32-bit или 64-bit MSYS2. Да, теперь есть и 64-битный Git, замечания о нём ниже.

В имени папки для установки (и пути) не должно пробелов, и должны быть только ASCII символы (ASCII, no accents, spaces nor symlinks, short path). В дальнейшем я буду ссылаться на эту папку как %MSYS2_DIR%.

После окончания установки запустите MSYS2 Shell (Пуск → Все программы → MSYS2).

2. Установить и обновить пакеты MSYS2 (более детально описано здесь, или здесь с картинками):

Перезапустить MSYS2 Shell и запустить %MSYS2_DIR%\autorebase.bat для 32-битной версии. Далее

По умолчанию папка HOME создаётся в %MSYS2_DIR%\home\%USERNAME%, и в неё копируются файлы %MSYS2_DIR%\etc\skel, как описано в %MSYS2_DIR%\etc\post-install\05-home-dir.post. Есть возможность настроить папку HOME = %USERPROFILE%. Для этого переместите все файлы из %MSYS2_DIR%\home\%USERNAME% в %USERPROFILE% и исправьте в файле %MSYS2_DIR%\etc\nsswitch.conf строку «db_home: cygwin desc» на «db_home: windows desc»

Настройка

1. Для добавления автодополнения (по Tab) команд Git и дополнительной информации в command prompt cкопируйте файлы:

В файл %HOME%\.bashrc добавьте строки

Настройка git-prompt (переменная PS1) взята из предыдущих версий Git for Windows.

Обратите внимание на PS1=»$PS1″$’\n’. Выражение $’\n’ используется для исправления бага

Читайте также:  Mrb в gpt при установке windows

Manpages будут установлены пакетом git. Для просмотра понадобится пакет man-db:

И далее, как обычно

Документация в формате Html пока отсутствует

Соответственно, можно попытаться самостоятельно построить её, либо извлечь её из PortableGit архива и скопировать в %MSYS2_DIR%/usr/share/doc/git/html.

Git 32bit vs. 64bit

В процессе эксплуатации 64bit Git обнаружилось повышенное потребление памяти для некоторых команд. Например, git-fast-import при конвертации большого репозитория (порядка 5GiB) легко съедал всю доступную RAM (при отключенном файле подкачки это проявляется в виде системного сообщения о том, что приложению не хватает памяти и предлагается закрыть программу). Для этого же (уже сконвертированного) репозитория TortoiseGit Log не мог отобразить дерево коммитов, а запущенный субпроцесс git опять съедал всю оперативную память.

Для 32bit Git такого не наблюдалось, и все команды, в том числе в связке с различными GUI и IDE работали отлично.

Источник

Install GitLab Runner on Windows

Installation

Install GitLab Runner as a service and start it. You can either run the service using the Built-in System Account (recommended) or using a user account.

Run service using Built-in System Account (under directory created in step 1. from above, ex.: C:\GitLab-Runner )

Run service using user account (under directory created in step 1. from above, ex.: C:\GitLab-Runner )

You have to enter a valid password for the current user account, because it’s required to start the service by Windows:

Voila! Runner is installed, running, and will start again after each system reboot. Logs are stored in Windows Event Log.

Update

Stop the service (you need an elevated command prompt as before):

Uninstall

Windows version support policy

We follow the same lifecycle policy as Microsoft’s Servicing Channels.

This is the case for both the Windows binaries that we distribute, and also for the Docker executor.

As a single source of truth we use https://docs.microsoft.com/en-us/lifecycle/products/ which specifies both the release and mainstream support dates.

Below is a list of versions that are commonly used and their end of life date:

OS Mainstream support end of life date
Windows 10 1809/2019 January 2024
Windows Server Datacenter 1809/2019 January 2024
Windows Server Datacenter 1903 December 2020

Future releases

GitLab aims to test and release new GitLab Runner helper images that include the latest Windows Server version (Semi-Annual Channel) within 1 month of the official Microsoft release date. Refer to the Windows Server current versions by servicing option list for availability dates.

Windows troubleshooting

Make sure that you read the FAQ section which describes some of the most common problems with GitLab Runner.

If you encounter a The service did not start due to a logon failure error while starting the service, please look in the FAQ to check how to resolve the problem.

If you don’t have a Windows Password, the GitLab Runner service won’t start but you can use the Built-in System Account.

If you have issues with the Built-in System Account, please read Configure the Service to Start Up with the Built-in System Account on Microsoft’s support website.

Get runner logs

I get a PathTooLongException during my builds on Windows

This is caused by tools like npm which will sometimes generate directory structures with paths more than 260 characters in length. There are two possible fixes you can adopt to solve the problem.

a) Use Git with core.longpaths enabled

b) Use NTFSSecurity tools for PowerShell

The NTFSSecurity PowerShell module provides a Remove-Item2 method which supports long paths. GitLab Runner will detect it if it is available and automatically make use of it.

Additional info can be found under issue #1025.

How can I get colored output on the web terminal?

Short answer:

Make sure that you have the ANSI color codes in your program’s output. For the purposes of text formatting, assume that you’re running in a UNIX ANSI terminal emulator (because that’s what the webUI’s output is).

Long Answer:

The web interface for GitLab CI emulates a UNIX ANSI terminal (at least partially). The gitlab-runner pipes any output from the build directly to the web interface. That means that any ANSI color codes that are present will be honored.

If your program is doing the above, then you need to disable that conversion for the CI builds so that the ANSI codes remain in the string.

See GitLab CI YAML docs for an example using PowerShell and issue #332 for more information.

The service did not start due to a logon failure error when starting service

When installing and starting the GitLab Runner service on Windows you can meet with such error:

According to Microsoft’s documentation this should work for: Windows Vista, Windows Server 2008, Windows 7, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 R2, Windows Server 2012, and Windows 8.

After adding the SeServiceLogonRight for the user used in service configuration, the command gitlab-runner start should finish without failures and the service should be started properly.

Job marked as success and terminated midway using Kubernetes executor

Docker executor: unsupported Windows Version

GitLab Runner checks the version of Windows Server to verify that it’s supported.

If GitLab Runner fails to start with the following error, but with no Windows Server version specified, then the likely root cause is that the Docker version is too old.

The error should contain detailed information about the Windows Server version, which is then compared with the versions that GitLab Runner supports.

The fix in this case is to upgrade the Docker version. Read more about supported Docker versions.

I’m using a mapped network drive and my build cannot find the correct path

If GitLab Runner is not being run under an administrator account and instead is using a standard user account, mapped network drives cannot be used and you’ll receive an error stating The system cannot find the path specified. This is because using a service logon session creates some limitations on accessing resources for security. Use the UNC path of your drive instead.

The build container is unable to connect to service containers

Network-per-build is required to use services with Windows containers. Ensure that the FF_NETWORK_PER_BUILD feature flag is set.

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector