Windows клиент git: Лучшие клиенты Git GUI для Windows
Лучшие клиенты Git GUI для Windows
Git — это, несомненно, самая используемая система контроля версий. Собрал некоторые из лучших клиентов Git GUI, доступных для операционной системы Windows.
Клиенты Git GUI для Windows:
1. GitHub Desktop
Рабочий стол GitHub в основном является расширением рабочего процесса GitHub. Вы можете войти в систему, используя свои учетные данные GitHub и начать работу с вашими репозиториями. Есть возможность создавать новые репозитории, добавлять локальные репозитории и выполнять большинство операций Git из пользовательского интерфейса. GitHub Desktop является полностью открытым исходным кодом, и он доступен для MacOS и Windows. Нажмите здесь, чтобы загрузить GitHub Desktop.
2. GitKraken
GitKraken — это независимый разработчик Git для Windows. Он поддерживает GitHub, Bitbucket и Gitlab. GitKraken доступен в бесплатных, премиальных и корпоративных вариантах. Бесплатная версия подходит для небольших команд и стартапов, но вам может потребоваться обновиться после того, как ваша команда и работа будут расширяться. Перед использованием этого инструмента вам необходимо зарегистрироваться на сайте. Нажмите здесь, чтобы скачать GitKraken.
3. SmartGit
SmartGit — отличный клиент Git профессионального уровня, который можно использовать для некоммерческих организаций. Вы можете свободно использовать его для разработки open-source и бесплатного программного обеспечения. Но вам может потребоваться приобрести лицензию, если вы собираетесь использовать этот инструмент для коммерческих целей. SmartGit охватывает все функции Git и поставляется со всеми функциями для совместной работы. Инструмент даже поддерживает создание pull-запросов на GitHub. Нажмите здесь, чтобы загрузить SmartGit.
4. SourceTree
SourceTree — бесплатный клиент Git, разработанный Atlassian, компанией, стоящей за Jira и Bitbucket. Этот бесплатный клиент Git показывает огромную поддержку репозиториев, размещенных Bitbucket и GitHub. Перед использованием SourceTree вам необходимо создать учетную запись Atlassian. Нажмите здесь, чтобы загрузить SourceTree.
Итог
Итак, это были некоторые из клиентов Git, которые я использовал и нашел полезными. Если вы просто новичок, я бы рекомендовал использовать такой инструмент, как GitHub Desktop или Source Tree. И если вы опытный разработчик, идите на GitKraken и Smart Git.
Спасибо, что читаете! Подписывайтесь на мой канал в Telegram и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий.
Также, читайте меня в социальных сетях: Facebook, Twitter, VK, OK.
Респект за пост! Спасибо за работу!
Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице.
Есть возможность стать патроном, чтобы ежемесячно поддерживать блог донатом, или воспользоваться Яндекс.Деньгами, WebMoney, QIWI или PayPal:
Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.
Поделиться ссылкой:
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. Один из самых лучших и
быстрых инструментов такого типа. Он
прост в работе, но отлично справляется
со всеми основными задачами, возникающими
при работе с версиями.
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.
Несмотря на то, что все приложения, о которых мы рассказали, обладают схожим функционалом, каждое из них имеет свои отличительные особенности. Эти особенности позволяют им выделяться среди аналогов в какой-то отдельной области, так что каждый разработчик сможет подобрать подходящий инструмент для своих нужд.
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. Еще можно добавить в индекс все маленькой кнопкой в верхнем левом углу дерева файлов. Можно кликнуть по строчке с файлом чтобы открыть дифф по нему на весь экран.
Сверху окна есть отдельный заголовочный блок примерно как в Xcode с названием ветки и статусом того, что сейчас происходит (pulling, pushing, idle). Это все. То есть, окно по-умолчанию только показывает статус: нынешнюю ветку и статус файлов.
Когда пользователь намерен сделать какое-либо действие (git log
— посмотреть историю, git branch
— операция с ветками, git commit
— осуществление коммита, git push
— загрузка в remote, git pull
— загрузка из remote, git remote
— управление списком remote и т.д.) он должен зажать tab чтобы вызвать селектор действий (прям как селектор оружия в GTA 5).
Далее пользователь наводит указатель мыши на нужную команду и кликает на нее. После этого происходит вызов команды если это команда без аргументов (например, pull, push, fetch). Если нужно указать аргументы, то пользователь кликает правой кнопкой на название команды (например, push) и появляется соответствующее модальное диалоговое окно с вводом аргументов (цель remote и имя ветки, а также галочка force), которые указываются мышью или горячими клавишами. К этом моменту изначально зажатый tab можно уже отпустить. Если кликнуть за пределами модального окна или нажать esc, то модальное окно закроется и вызов команды будет отменен. Если же в этом модальном окне указать аргументы и нажать кнопку push, то начнется выполнение команды. Процесс выполнения команды будет отображен на верхней панели под названием ветки.
Еще одно важное преимущество терминала над остальными git GUI приложениями это возможность склеивать команды последовательно при помощи операторов && и ||. Например, я лично в работе часто использую такую последовательность для подлития в свою ветку той ветки, от которой моя ветка была срезана:
git checkout dev && git pull && git checkout - && git merge -
Данная последовательность выполняет 4 операции:
переключается на ветку dev
скачивает последние изменения ветки dev
переключается обратно на ветку, на которой мы находились до ветки dev
вливает ветку dev в нынешнюю ветку
Оператор && устроен таким образом, что если одна из команд остановится из-за ошибки, то выполнение всех остальных команд не начнется. Это суперудобно, но я не видел ни одного git GUI клиента, который бы умел склеивать команды в последовательность (если вы такой знаете, то укажите это в комментариях). И я придумал как в моем потенциальном абстрактном идеальном git GUI приложении моей мечты это будет выполнено.
Для того, чтобы указать команду и добавить после нее другую команду нужно сделать то же самое, что и для указания обычной команды, но помимо кнопки tab нужно еще зажать alt (или shift, тут нужно еще подумать). То есть, в привычном уже круговом селекторе мы выбираем команду checkout, указываем ветку dev, жмем ok в окошке, где мы указывали ветку. Однако из-за того, что в момент появления окошка помимо клавиши tab была зажата еще и клавиша alt, команда checkout не начинает выполняться сразу после нажатия ok, а добавится в список, который появляется в верхнем левом углу, а селектор продолжит отображаться в ожидании новой команды (tab держать уже не нужно — селектор остается открытым после указания первой команды с зажатым alt). Также указываем другие команды левой или правой кнопкой мыши как обычно — они пополняют список команд. Когда мы завершили этот список жмем еще раз tab (или esc если передумали), селектор закрывается, команды начинают выполняться, их статус виден на верхней панели статуса. Признаться честно, на эту идею меня подтолкнул смелая фича в игре Red Alert 2. Там можно зажать клавишу z и указать последовательность точек куда следует идти юниту. Я считаю, что это гениальная фича, которой очень не хватает в других популярных стратегиях.
Отдельная фича, которая сделает использование истории гита удобнее, это хэширование хэша (да, именно так) коммита в виде эмоджи. Объясню на примере. Когда я смотрю историю коммитов, я вижу список труднозапоминаемых длинных хэшей типа такого
3a962a4a5979b338e4bfce1333b3009529c0ad08
d8def5c1b13a83a1df8797fab3d34760596df692
cffcf32979526f2e2d26c06fe0b73666a7ca0e87
2757ed191106b51b729c5437334d9d19b0d081b8
0fef00c89e8d60e41a452ffc31a8300b551116be
5e4fe2033549b89ef86834e2fcba350fa5099443
886602d02ec39f853c9b708957f27c3fbb51e66c
250ce1cd7b0b6ec415898e0a26cda49a2d326bd3
4a4a5e0f6257bb6c179981c4fb69011be7bbe53d
В этом ничего нет плохого пока не нужно запомнить хэш и сверить его с другим хэшем. Даже сокращенный вариант запомнить не так легко. Потому у меня появилась идея сделать хэши коммитов более запоминаемыми — по каждому хэшу вычисляем хэш в виде эмоджи. Тогда это будет выглядеть примерно так.
↕️ 3a962a4a5979b338e4bfce1333b3009529c0ad08
☘ d8def5c1b13a83a1df8797fab3d34760596df692
◽️ cffcf32979526f2e2d26c06fe0b73666a7ca0e87
⛎ 2757ed191106b51b729c5437334d9d19b0d081b8
㊙️ 0fef00c89e8d60e41a452ffc31a8300b551116be
5️⃣ 5e4fe2033549b89ef86834e2fcba350fa5099443
⏹ 886602d02ec39f853c9b708957f27c3fbb51e66c
⏸ 250ce1cd7b0b6ec415898e0a26cda49a2d326bd3
↖️ 4a4a5e0f6257bb6c179981c4fb69011be7bbe53d
Эмоджи намного лучше запоминаются человеком, чем безымянные шестнадцатеричные хэши. Если везде, где мы ни показывали хэши коммитов (история или статус pull’а), показывать их эмоджи хэши, то пользователь лучше будет помнить на каком он коммите работает прям сейчас, и меньше будет ошибок когда он забыл влить другую ветку, запушить или запулить изменения. Вообще было бы здорово если бы эмоджи-хэш использовался везде: на github, bitbucket, teamcity. Это позволило бы проще сверять коммиты билдов с коммитами в истории.
Заключение
Это все. Буду рад любой критике и предложениям в комментариях. Отвечу на вопрос зачем я делюсь идеей тут, а просто не начну реализовывать это сам. Я сам занимаюсь разработкой игр, на данный момент работаю в компании Playtika, а в свободное время разрабатываю приложение для работы с SQLite https://sqliteman.dev. Я бы сам с радостью занялся разработкой данного git GUI клиента, но у меня нет времени. Я буду очень рад если бы кто-то другой это сделал, при этом мне совершенно не жалко если кто-то это сделает без упоминания источника идеи. Я уверен, что идея не стоит ничего в отличие от реализации. И буду очень счастлив если у меня будет git GUI приложение моей мечты.
Git для начинающих. Часть 2. Установка Git
Для того, чтобы начать работать с системой контроля версий Git ее необходимо предварительно установить. Рассмотрим варианты установки этой VCS под MS Windows и Linux.
Установка Git под Windows
Для установки Git под Windows необходимо предварительно скачать дистрибутив. Для этого перейдите на страницу https://git-scm.com/
Если вы зашли из под операционной системы (ОС) Windows, главная страница сайта будет выглядеть примерно так, как показано на рисунке ниже. Для других ОС отличие будет заключаться в том, что изменится область для скачивания дистрибутива (см. правый нижний угол).
Для того чтобы скачать Git нужно нажать на кнопку Downloads for Windows, расположенную в правой части окна.
Процесс дальнейшей установки Git выглядит так.
1. Запустить установочный файл
2. Ознакомиться, если есть желание, с лицензионным соглашением и нажать на кнопку Next
3. Выбрать компоненты, которые следует установить
4. Указать способ использования Git
В этом окне доступны три возможных варианта:
- Use Git from Git Bash only
Переменная PATH не модифицируется и работа с Git возможна только через специализированную оболочку, которая называется Git Bash.
- Use Git from the Windows Command Prompt
В этом случае происходит минимальная модификация переменной окружения PATH, которая позволит работать с Git через командную стоку Windows. Работа через Git Bash также возможна.
- Use Git and optional Unix tools from the Windows Command Prompt
В переменную PATH вносится значительное количество модификаций, которые позволят, в рамках командной строки Windows, использовать как Git так и утилиты Unix, которые поставляются вместе с дистрибутивом Git.
Наша рекомендация: опция Use Git from the Windows Command Prompt.
5. Настройка правил окончания строки
Существует два варианта формирования конца строки в текстовых файлах – это Windows стиль и Unix стиль. Данное окно позволяет выбрать одну из опций, определяющих правило формирования окончания строки:
- Checkout Windows-style, commit Unix-style line endings
Checkout (операция извлечения документа из хранилища и создания рабочей копии) производится в Windows стиле, а commit (операция отправки изменений в репозиторий) в Unix стиле.
- Checkout as-is, commit Unix-style line endigns
Checkout производится в том формате, в котором данные хранятся в репозитории, а commit осуществляется в Unix стиле.
- Checkout as-is, commit as-is
Checkout и commit производятся без дополительных преобразований.
Наша рекомендация: опция Checkout Windows-style, commit Unix-style line endings.
6. Выбор эмулятора терминала, который будет использован с Git Bash
Возможен выбор из двух вариантов:
- Use MinTTY (the defaul terminal of MSYS2)
Git Bash будет использовать в качестве эмулятора терминала MinTTY.
- Use Windows’ default console window
Git будет использовать Windows консоль (“cmd.exe”).
Наша рекомендация: опция Use MinTTY (the defaul terminal of MSYS2).
7. Настройка дополнительных параметров
Доступны следующие параметры:
- Enable file system caching
Включение операции кэширования при работе с файлами. Эта опция позволит значительно повысить производительность.
- Enable Git Credential Manager
Предоставляет возможность работы с защищенным хранилищем.
Активирует работу с символьными ссылками.
Наша рекомендация: опции Enable file system caching и Enable Git Credential Manager.
8. Завершение установки
После нажатия на кнопку Install будет произведена установка Git на Windows, по окончании установки пользователь получит соответствующее сообщение.
Установка Git под Linux
Для установки Git под Linux, также необходимо зайти на сайт https://git-scm.com/ и перейти в раздел Downloads. В зависимости от используемой вами версии операционной системы Linux необходимо выбрать тот или иной способ установки Git.
Debian/Ubuntu
> apt-get install git
Fedora
(Fedora 21)
> yum install git
(Fedora 22)
> dnf install git
Gentoo
> emerge --ask --verbose dev-vcs/git
Arch Linux
> pacman -S git
openSUSE
> zypper install git
Mageia
> urpmi git
FreeBSD
> pkg install git
Solaris 9/10/11 (OpenCSW)
> pkgutil -i git
Solaris 11 Express
> pkg install developer/versioning/git
OpenBSD
> pkg_add git
Alpine
> apk add git
Рекомендуем классный курс по git от GeekBrains, перейдите по ссылке и найдите в разделе “Курсы” курс “Git. Быстрый старт”. Это бесплатный видеокурс, зарегистрируйтесь и начинайте получать новые знания.
<<< Git для начинающих. Часть 1. Что такое системы контроля версий?
Git для начинающих. Часть 3. Настройка Git>>>
Система контроля версий git для windows, подробная информация о настройке и работе
В инструкции описан процесс загрузки, установки системы контроля версий Git на сервера с операционной системой Windows и подключения к удаленному репозиторию GitHub.
Что это такое?
Git — одна из самых популярных систем контроля версий, используется разработчиками, для контроля изменений в своих разработках и проектах. Изначально создан для использования на Linux-подобных операционных системах, но позднее, из-за удобства и популярности для Windows был написан специальный эмулятор, поддерживающий функционал Git’a.
Загрузка и установка
Загрузите установщик с официального сайта. Загрузка начнется автоматически.
Перейдите в папку “Downloads” и запустите на исполнение загруженный файл.
Укажите путь до каталога в который будет установлен Git.
Чтобы на рабочем столе была иконка Git, на следующем шаге отметьте галочкой “On the Desktop”.
Введите имя директории, которая будет создана в Start Menu. При необходимости можно изменить путь с помощью кнопки Browse.
Выберете способ использования из командной строки:
- Use Git from Git Bash only — использование только из командной строки Bash.
- Use Git from the Windows Command Prompt — использование командной строки Bash, а также минимальный набор команд Git из консоли Windows.
- Use Git and optional Unix tools from the Windows Command Prompt — использование Git и утилит Unix из командной строки Windows, в этом случае будут перезаписаны некоторые утилиты Windows, например find и sort.
Выберете библиотку, которая будет использована при подключении по протоколу HTTPS:
- OpenSSL — сертификаты сервера будут проверяться с использованием Unix-файла ca-bundle.crt.
- Windows Secure Channel — сертификаты сервера будут проверяться с использованием стандартной библиотеки Windows.
Убедитесь, что вы выбрали способ обработки окончания строк «Checkout Windows-style, commit Unix-style line endings». Это значение гарантирует, что Git преобразует LF в CRLF при проверке текстовых файлов. При выполнении текстовых файлов CRLF также преобразуется в LF. Это мера совместимости для защиты новых строк в текстовых файлах, что позволяет легко работать с текстовыми файлами в Windows и на платформах Unix.
Примечание: LF и CRLF — управляющий символ для переноса строки в Unix и Windows соответственно.
Далее необходимо сконфигурировать используемый терминал:
- MinTTY — терминал Unix;
- Windows — стандартный терминал Windows.
Отметьте галочками нужные вам дополнительные функции:
- File system caching — кэширование файловой системы.
- Git Credential Manager — включить менеджер учетных данных.
- Symbolic links — разрешить символьные ссылки.
Нажмите кнопку Install.
Начнется процесс установки.
Подключение к удаленному репозиторию
Откройте каталог с файлами, которые необходимо отслеживать в системе контроля версий и выложить на GitHub. В пустую часть каталога нажмите правой кнопкой мыши и выберете Git Bash Here.
Перед вами откроется приглашение командной строки в зависимости от настроек.
Для настройки необходимо указать ваше имя и электронную почту:
git config --global user.email "[email protected]"
git config --global user.name "Ваше имя"
Для того чтобы начать отслеживать содержимое папки в системе, выполните команды:
git init
git add
Выполните первый коммит:
git commit -m "Init"
Чтобы добавить изменения, например, на github выполните действие:
git remote add origin https://github.com/пользователь/репозиторий.git
git push -u origin master
На GitLab:
git remote add gitlab https://server/namespace/project.git
git push -u gitlab master
Перед вами откроется окно входа (консольное или стандартное окно Windows). В качестве пользователя укажите ваш логин на GitHub, репозиторий — название существующего репозитория.
Аутентификация по SSH-ключам
Выполнить подключение к удаленному репозиторию можно по протоколу SSH с помощью приватного и публичного ключа. Чтобы сгенерировать пару, выполните команду в консоли GitBash, указав ваш реальный почтовый адрес:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
В процессе генерации вам будет предложено указать директорию и имя файла для ключа, примите значение по умолчанию, нажав Enter. Далее, при желании можно указать ключевую фразу в качестве дополнительной защиты, при ее отсутствии нажмите Enter. В результате будут сгенерированы ключи.
Запустите ssh-агент:
eval $(ssh-agent -s)
Вы увидите идентификатор процесса.
Добавьте ключи к ssh-агенту:
ssh-add ~/.ssh/id_rsa
Теперь нужно добавить ключ к удаленному серверу Git. Заходим на сервер Git и в настройках добавляем SSH-ключ.
Например, на сервере GitHub это можно сделать следующим образом: откройте Settings -> SSH and GPG keys,нажмите New SSH key. В поле Title введите понятное название, в поле Key вставьте публичный ключ (содержимое файла ~/.ssh/id_rsa.pub). Нажмите Add SSH key.
В результате у вас появится новый ключ.
Для проверки настроек выполните команду:
ssh -T git@<домен или ip-адрес сервера git>
Например:
ssh -T [email protected]
Если все настроено верно, то вы увидите следующее сообщение.
P. S. Другие инструкции:
Спасибо за Вашу оценку!
К сожалению, проголосовать не получилось. Попробуйте позже
Простая установка сервера GIT на Windows / Хабр
Предисловие или от куда взялась «бредовая» идея ставить Git на Windows
Я работаю в одной не очень большой IT-компании, которая продает свои и чужие программные решения, занимается проектами внедрения, оказывает клиентскую поддержку, проводит обучение и далее все такое в том же духе. До недавнего времени в моей маленькой команде разработки все было неплохо организовано и у нас даже был свой собственный достаточно мощный сервер. Но случилось непредвиденное и по воле злого рока один из серверов фирмы полетел, а руководство решило вместо него в стойку поставить наш сервер отдела разработки. Нам предложили «временно» переехать на любой из серверов общего назначения.
А теперь внимание! Только мы одни во всей фирме работаем на Линуксе, а все остальные сидят исключительно на Windows и сервера у нас тоже под управлением серверных редакций ОС от Билла Гейтса. И если перенос базы Redmine не вызывает особых вопросов, то задача поднять на сервере Windows сервер для Git меня сразу поставила в тупик. Но несколько часов потраченных на поиски дали мне простое работающее решение.
Изучение матчасти
Первым делом я обратился к документации по Git’у, где вычитал следующее:
Git умеет работать с четырьмя сетевыми протоколами для передачи данных: локальный, Secure Shell (SSH), Git и HTTP.
Первый вариант я не стал рассматривать, так как он подразумевает наличие сетевой шары открытой для общего доступа. Допустим, что с помощью групповых политик домена можно обезопасить данные от случайного удаления продавцем-стажером. Но как работать из дому? Ради нескольких «коммитов выходного дня» поднимать VPN?
Читаем далее и видим:
SSH — единственный из сетевых протоколов, предоставляющий доступ и на чтение, и на запись. Два других сетевых протокола (HTTP и Git) в большинстве случаев дают доступ только на чтение, поэтому даже если они вам доступны, вам всё равно понадобится SSH для записи.
Путь к конечной цели уже стал менее туманным: сначала требуется поставить сервер SSH, а далее установить одну из многочисленных сборок Git для Windows (официальную msysgit, Git Extensions, TortoiseGit, QGit и т.д.)
Выбор сервера SSH для Windows
Воспользовавшись поисковиком по сети Internet, я сделал небольшую подборку текущих реализаций SSH под Windows. Не претендую на то, что смог найти все решения в этой области, но самые популярные точно не пропустил. Итак:
Cygwin. В рамках проекта переноса функциональности Linux на Windows был портирован в том числе и OpenSSH. Библиотека проекта cygwin1.dll с реализацией SSH так же используются в большинстве других решений. Простую инструкцию с картинками по установке и настройке можно посмотреть тут. А так же рекомендую к прочтению статью из журнала «Windows IT Pro» № 7 за 2001 год — SSH в Windows.
freeSSHd. Лидер среди упоминается на форумах. Характеризуется как легкий в использовании. Лицензия позволяет бесплатно использовать в коммерческих целях. Нашел инструкцию по установке и настройке на Win2008.
WInSSHD. Самое богатое по функциональности из увиденных мною реализаций. Это хорошее профессиональное решение для обеспечения безопасности. Но для моего гвоздя — это микроскоп. Если кого-то продукт заинтересовал, то у них есть 30-дневная ознакомительная полная версия и возможность бесплатного частного использования.
KpyM Telnet/SSH Server. Плохих отзывов не заметил. Но меня смущает, что их сайт не обновляется с 2009 года, а так же на официальном форуме как-то безжизненно. С другой стороны, если продукт бесплатный и выполняет свою работу, то нет смысла заниматься развитием. Понравилось наличие в их FAQ списка других решений для SSH под Windows. Рекомендую заглянуть.
Copssh. Продукт от норвежской компании ITeF!X, в котором они к windows-реализации OpenSSH добавили красивый GUI-интерфейс администратора и некие «best practices». Именно это решение, более всего рекомендуется в обсуждении поднятия сервера Git под Windows на StackOverflow.
Случайная находка
Собственно под впечатлением ответов на StackOverflow я уже расслабился и решил было пойти проторенной моими предшественниками дорожкой. Но при изучении сайта компании ITeF!X я обнаружил, что у них есть и более подходящий для моих целей продукт — gitwin. Это оказался тот самый требуемый мне сервер Git под Windows.
Я вначале не поверил глазам — если такой чудо продукт существует, то почему о нем до сих пор не трубят на каждом шагу. Ответ нашелся в новостях компании — как оказалось программный продукт только полмесяца назад (11 октября 2013 года) выложили в общий доступ. Точнее на днях выложили бесплатную для использования версию. Платная существовала и раньше, но видимо не пользовалась особым спросом (с января 2012 года на официальном форуме компании всего две созданные темы в разделе gitwin).
Итак, что же собой представляет этот gitwin? В состав свободной версии входят:
- Cygwin версии 1.7.25
- OpenSSH версии 6.3
- Git версии 1.8.4
- Инсталятор от Itefix
На сайте целый раздел посвящен установке пакета. Кроме описания словами процесса «запуск инсталятора» -> «далее» -> «далее» -> «готово», представители компании не поленились записать все это еще на видео и выложили на YouTube. Не совсем понятно зачем это сделано и самое главное не понятно для кого?
Еще один раздел выделили для описания использования. Тут описали активацию нового пользователя для доступа по SSH, создание пары ключей и пустого репозитория. И так же кроме описания текстом дают записанный обучающий ролик:
Установка, настройка и тестирование сервера Git
Я установил на наш сервер gitwin редакции «free edition» и могу поделится только этим опытом.
1. Начинаем со скачивания инсталятора со странички продукта.
2. Запускаем инсталятор и нас спрашивают куда устанавливать продукт. Я оставил по-умолчанию в «C:\Program Files (x86)\ICW». Зачем может понадобится менять путь? Дело в том, что этот каталог станет корнем для линуксовых утилит и домашний каталог пользователя git тоже будет создан тут же «C:\Program Files (x86)\ICW\home\git\». Если есть предчувствие проблем с правами доступа, то можете поменять на менее проблемный для вас каталог.
3. В процессе установки выводятся сообщения о создании двух пользователе «SvcCOPSSH» и «git». Под первым пользователем будет работать служба «OpenSSHServer», а второй нужен собственно для обслуживания репозиториев. Пароли к этим пользователям можно узнать в конце процесса установки, если нажать на «Show details». Советую по правому щелчку скопировать вывод в буфер и сохранить на всякий случай.
3.1. Перепроверка состава пользователей показала, что инсталятор втихую создал еще одного пользователя — «sshd» с описанием «copSSH privilege separation user» и сам же отключил его. Не понятно и подозрительно…
4. Скорее всего из-за редакции «free edition» дальнейшие шаги отличались от описанных на сайте. Вместо консоли администрирования в меню Пуск/copssh поместили два пункта «01. Activate a user» и «02. Deactivate a user». Но суть процесса от этого не изменилась. Запускаем «01. Activate a user» и указываем пользователя для активации (в моем случае все тот же git), выбираем командную оболочку (выбор из bash, sftponly и false) и ставим опциональные галочки. Тут читаем внимательно:
4.1. Если нам нужна пара ключей, то оставляем включенную по-умолчанию «Create keys for public key authentication». При парольной авторизации можете снять…
4.2. Если у пользователя планируется использование его родного пользовательского каталога из C:\Users\ (или может у кого-то до сих пор C:\Documents and Settings\) тогда оставляем включенные по-умолчанию галочки «remove copssh home directory if it exists» и «Create link to user’s real home directory». Я рискнул их снять и таким образом все репозитории у меня будут запрятаны глубоко в системном каталоге Program Files.
5. После активации пользователя и создания ключей можем протестировать всю систему на работоспособность. Выбираем в меню Пуск/copssh пункт «03. Start a Unix BASH Shell» и создаем пустой репозиторий. Я не стал блистать остроумием и повторил команду с официального сайта:
$ git init —bare /home/git/repo-a
Initialized empty Git repository in /home/git/repo-a/
6. Далее тестирование переехало на мой рабочий ноут. Я успешно склонировал пустой репозиторий, закинул в него несколько файлов и запушил назад. Проблем не возникло. Перешел в другой каталог и снова склонировал репозиторий — на этот раз он был уже не пустой и содержал мой коммит с файликами. Таким образом с моей рабочей станции различия между работой с репозиторием Git на предыдущем сервере Ubuntu и на новом сервере Windows замечено не было!
Заключение
Удачно найденный gitwin оказался именно тем решением, которое я искал — запускается под Windows и создает иллюзию для пользователей, что они работают с полноценным удаленным репозиторием. Глюков пока не заметил. Но если обнаружу, то обязательно дополню данную статью.
Надеюсь, что собранные материалы окажутся кому-нибудь полезными. И хочу пожелать не боятся потратить несколько часов на поиски, если вы не уверены, что в вашей голове наиболее актуальная информация. Ведь если бы я изначально зашел на StackOverflow и выполнил все по детальному пошаговому руководству от Тима Дэвиса, то не узнал бы о существовании более короткого пути, когда вся инфраструктура поднимается и настраивается буквально в десяток кликов мышкой. Успехов!
Послесловие. Истории успехов от хабраюзеров
Я подобно Сократу с каждым новым квантом знаний понимаю как еще много того, чего я все еще не знаю. В комментариях коллеги описывают положительный опыт на заданную мною тему, который грех игнорировать. Итак:
A1lfeG вместе со своей командой далеки от Linux’а, но тем не менее ихняя установка центрального репозитория Git’а была довольно простой. В этом им помог продукт SCM Manager.
dshster делится опытом по успешной установке на сервер исключительно msysgit. Если честно, то я читал это сообщение в Q&A, но это не мой случай. Инструкция больше касается использования Bitbucket и Github. Для общего использования в локальной сети предлагается общая папка, а для просмотра репозитория встроенный веб-сервер. Отмечу, что начиная с релиза 1.8.4 веб-сервер и часть других утилит удалена: «Some commands are not yet supported on Windows and excluded from the installation; namely: git archimport, git cvsexportcommit, git cvsimport, git cvsserver, git instaweb, git shell»
IamKarlson хорошо отзывается о решении Bonobo Git Server, которое используется у него на работе. Как плюс для себя отмечу использование веб-сервера IIS, который у нас уже работает.
Лучшие клиенты Git GUI для Windows 10/8/7 2020
- Главная
- Компоненты
- Веб-сайты
- Car-tech
- Windows
- Проверьте другие обновления сравнительных сообщений
- Проверьте другие уникальные пусковые установки
- Проверьте Игры Месяца Архив
- Проверьте больше сообщений Galaxy Note 9
Исправьте распространенные ошибки резервного копирования титана при восстановлении приложений
Подпишитесь на расписание кубка мира вашей любимой футбольной команды
Как легко создать систему восстановления / восстановления диска в Windows 7
Обзор Xiaomi Redmi Note 4g: стоит цена и многое другое
Восстановите moto g 2014 обратно на склад или установите Titan Prime
Git — клиенты графического интерфейса
SourceTree
Платформы: Mac, Windows
Цена: Бесплатно
Лицензия: Собственная
GitHub Desktop
Платформы: Mac, Windows
Цена: Бесплатно
Лицензия: MIT
TortoiseGit
Платформы: Windows
Цена: Бесплатно
Лицензия: GNU GPL
Расширения Git
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: GNU GPL
GitKraken
Платформы: Linux, Mac, Windows
Цена: Бесплатно / 29 долларов США / 49 долларов США.
Лицензия: Собственная
Magit
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: GNU GPL
SmartGit
Платформы: Linux, Mac, Windows
Цена: 79 $ / пользователь / Бесплатно для некоммерческого использования
Лицензия: Собственная
Башня
Платформы: Mac, Windows
Цена: 79 долларов США за пользователя (30-дневная бесплатная пробная версия)
Лицензия: Собственная
GitUp
Платформы: Mac
Цена: Бесплатно
Лицензия: GNU GPL
GitEye
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: Собственная
gitg
Платформы: Linux, Windows
Цена: Бесплатно
Лицензия: GNU GPL
унгит
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: MIT
мерзавец
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: GNU GPL
Инструмент Cycligent Git
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: Собственная
хихикать
Платформы: Linux
Цена: Бесплатно
Лицензия: GNU GPL
Gitbox
Платформы: Mac
Цена: 14 долларов.99
Лицензия: Собственная
Aurees
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: Собственная
Вилка
Платформы: Mac, Windows
Цена: 49 долларов.99, бесплатная оценка
Лицензия: Собственная
Рабочая копия
Платформы: iOS
Цена: Бесплатно с покупками из приложения
Лицензия: Собственная
CodeReview
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: GNU GPL
мастер
Платформы: Windows
Цена: Бета / Бесплатно для некоммерческого использования
Лицензия: Собственная
Git2Go
Платформы: iOS
Цена: Бесплатно с покупками из приложения
Лицензия: Собственная
GitAhead
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: MIT
Карманный Git
Платформы: Android
Цена: 1.99 €
Лицензия: Собственная
GitDrive
Платформы: iOS
Цена: Бесплатно с покупками из приложения
Лицензия: Собственная
GitX-dev
Платформы: Mac
Цена: Бесплатно
Лицензия: GNU GPL
GitBlade
Платформы: Linux, Mac, Windows
Цена: Бесплатная версия Lite, 59 долларов.99 на пользователя в год для версии PRO
Лицензия: Собственная
Гитара
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: GNU GPL
RepoZ
Платформы: Mac, Windows
Цена: Бесплатно
Лицензия: MIT
Конг
Платформы: Windows
Цена: Бесплатно
Лицензия: Собственная
Возвышенное слияние
Платформы: Linux, Mac, Windows
Цена: 99 долларов США за пользователя, годовая бизнес-подписка 75 долларов США, бесплатная пробная версия
Лицензия: Собственная
LazyGit
Платформы: Linux, Mac, Windows
Цена: Бесплатно
Лицензия: MIT
SnailGit
Платформы: Mac
Цена:
.
Git — книга
2-е издание (2014)
Загрузить электронную книгу
Вся книга Pro Git, написанная Скоттом Чаконом и Беном Штраубом и опубликованная Apress, доступна здесь. Все содержимое находится под лицензией Creative Commons Attribution Non Commercial Share Alike 3.0. Печатные версии книги доступны на Amazon.com.>
- 1.1
О контроле версий - 1.2
Краткая история Git - 1.3
Что такое Git? - 1.4
Командная строка - 1.5
Установка Git - 1.6
Первоначальная настройка Git - 1.7
Получать помощь - 1,8
Резюме
- 1.1
- 2.1
Получение репозитория Git - 2.2
Запись изменений в репозиторий - 2.3
Просмотр истории фиксации - 2.4
Отмена вещей - 2,5
Работа с пультами - 2,6
Теги - 2,7
Псевдонимы Git - 2,8
Резюме
- 2.1
- 3.1
Ветки в двух словах - 3.2
Базовое ветвление и слияние - 3.3
Управление филиалом - 3,4
Ветвление рабочих процессов - 3.5
Удаленные филиалы - 3,6
Ребазинг - 3,7
Резюме
- 3.1
- 4.1
Протоколы - 4.2
Получение Git на сервере - 4.3
Создание открытого ключа SSH - 4.4
Настройка сервера - 4.5
Git Daemon
- 4.1
.