Make git bash windows

Using Git Bash with the Windows Terminal

Nov 7, 2019 · 2 min read

This short tutorial shows how to add the Git Bash shell that is part of Git for Windows to the Windows Terminal, make it the default shell, add it’s color profile and add a “Windows Terminal Here” entry to the Windows Explorer context menu…

First, make sure Git for Windows and the Windows Terminal are installed. If you use Chocolatey, you can simply run the following command from and elevated prompt:

To get to the settings of the Windows Terminal, select the down-arrow in the tab bar and the “Settings” — or press Ctrl+,

In set t ings, add a new element to the “Profiles” section:

Make sure to generate (change the existing) guid to be unique among your profiles. If you want Git Bash to be your default startup-console, set the defaultProfile in globals accordingly:

If you want the Git Bash color scheme in Windows Terminal, add the following to:

…and change “colorScheme” in the profile to “GitBash”:

Finally, to add a right-click context menu “Windows Terminal Here” to Windows Explorer, create a new file with “.reg” extension containing:

Replace with the correct folder name in C:\Users\ on your machine.

Merge the .reg file with your registry by double-clicking it.

Установка gcc, make и git под Windows

Feb 9, 2015 · 4 min read

Виртуальные машины можно скачать по следующим ссылкам:

https://yadi.sk/d/DyxJA9ewebvFb — мой образ на базе Debian. Включает в себя git, gcc, g++, make, vim, emacs, nano и Sublime Text.

https://yadi.sk/d/LE0CFW9oeaJBS — оригинальный образ на базе Ubuntu. По отзывам лагает на некоторых машинах.

Логин и пароль от пользовательской учетки — student, от пользователя root — student.

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

Для начала, нужно включить отображение расширений для всех файлов в Windows.

После чего нужно скачать msysgit и mingw-get. Первое — это порт системы контроля версий Git под винду, второе — порт оболочки командной строки bash, стандартных unix-утилит, системы сборки проекта make и компиляторов gcc (для языка C) и g++ (для языка C++) под винду.

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

После запускаем скачаный mingw-get-setup.exe. Жмем Install -> Continue, ждем пока он загрузит все, что нужно и станет доступной кнопка Continue. Нажимаем.

Проставляем на пакетах галочки, как на скриншоте и жмем в меню Installation -> Apply changes. Опять же, ждем, пока он все скачает и установит (это займет около 5 минут, возможно больше) и закрываем по завершению менеджер установки MinGW.

После установки на диске C в корне должна появиться папка MinGW. Заходим в папку C:\MinGW\msys\1.0\ и запускаем там файл msys.bat. Должно появиться окно командной строки с заголовком “MINGW32:

Для того, чтобы скопировать из него текст, нужно просто начать выделять его, а затем нажать ПКМ. Для того, чтобы вставить в него текст, нужно просто во время активного ввода нажать ПКМ. Закрываем его. Пока что git и gcc в нем недоступны.

Читайте также:  Windows activators all rar

Для того, чтобы это исправить, качаем любой нормальный текстовый редактор (например, Notepad++, Atom или Sublime Text 3) и открываем в нем файл C:\MinGW\msys\1.0\etc\profile. В самый конец файла (после сd “$HOME”) дописываем следующие строчки:

Внимание! Эта строчка будет работать только в том случае, если вы ставили msysgit и mingw по стандартным путям на Win7 и выше.

Дальше запускаем командную строку bash (если вы забыли, это делается запуском файла C:\MinGW\msys\1.0\msys.bat и больше забывать не стоит). Можете проверить настройку окружения, введя команды “git”, “gcc”, “make”. Ни на одну из них не должно выдаваться сообщение об ошибке “command not found”.

Зайдите в папку C:\MinGW\msys\1.0\home\. В ней должна быть единственная подпапка, зайдите в нее. Эта папка — ваша рабочая директория в bash-e. Она открыта у вас по умолчанию при запуске оболочки bash, можно просмотреть список файлов в ней с помощью команды ls.

Если все работает, приступим к конфигурации клиента git.

Работа с Git

Для начала стоит определиться с выбором хостинга репозиториев, два наиболее популярных — GitHub и BitBucket. На первом можно создавать сколь угодно открытых репозиториев, код в которых будет доступен для просмотра любому. На BitBucket-е можно создавать любое количество открытых репозиториев, а так же любое количество закрытых репозиториев (просматривать и/или редактировать код в них могут только те люди, аккаунты которых вы укажете в настройках репозитория, но не более 5 человек включая вас в бесплатной версии).

Допустим, вы выбрали GitHub. Регистрируемся там (форма регистрации прямо на главной странице). Запоминаем email адрес и логин, они нам понадобятся для конфигурации клиента git в дальнейшем.

После регистрации и выбора тарифного плана Free нужно настроить клиент git. Для этого в bash-e нужно ввести следующие команды:

Где your_login — ваш логин, а your@email.com — соответственно ваш email, с которыми вы регистрировались на GitHub.

Для того, чтобы каждый раз не вводить пароль от аккаунта GitHub удобно сгенерировать ssh-ключ, по которому GitHub будет опозновать вас. Для этого в консоли введем:

На первый запрос жмем Enter, после чего генератор спросит у вас про passphrase. Можно оставить ее пустой, тогда не придется вводить пароль при каждой отправке изменения на сервер, либо ввести свой пароль (и тогда, естественно, пароль вводить придется каждый раз). Далее заходим в папку C:\MinGW\msys\1.0\home\ \.ssh и открываем файл id_rsa.pub в текстовом редакторе. Заходим на страницу https://github.com/settings/ssh, в поле Title указываем “main”, в поле Key копируем содержимое этого файла. Ключ добавлен. Прочесть подробнее про ключи можно здесь.

Если же вкратце, то в GitHub (как и BitBucket) можно клонировать репозитории, к которым у вас есть доступ на запись (например ваши репозитории) по двум URLам (ссылкам): SSH и HTTPS. При отправке изменений в git-репозиторий по HTTPS-ссылке вам потребуется каждый раз вводить логин и пароль от аккаунта GitHub. А при использовании SSH-ссылок авторизация будет доступна по добавленому ssh-ключу (который вы генерировали и добавляли в аккаунт GitHub в предыдущем абзаце) и пароль вводить будет не нужно (если вы установили пустой passphrase).

Теперь вы готовы к работе. Можете создать репозиторий на GitHub. После создания он сам подскажет вам команды, которые нужно ввести в bash-e для начала работы с ним. Хотя про начало работы с Git, вероятно, будет моя следующая статья.

1234ru / git-bash-win.md

Далее будет рассмотрена работа с portable-версией.

В пакете присутствует не только сам git, но и средства для работы в командной строке, которые позволяют сделать рабочий процесс практически полностью идентичным таковому в Unix-системах. (При этом, в отличие от подсистемы Windows for Linux, нет ни необходимости устанавливать дополнительные компоненты ОС, ни жёстких требований к новизне версии Windows).

Читайте также:  Настройка сетевого принтера mac os

В первую очередь, это оболочка bash , которая поддерживает цвета и комбинации клавиш, а также сопутствующие программы из числа наиболее часто используемых в Linux ( ls , grep , curl , vim , ssh (!) и пр.) делают возможными многие привычные операции.

Для настройки bash (например, вида системного приглашения) используется стандартный файл .bashrc , который нужно разместить в домашнем каталоге пользователя ( C:/Users/пользователь ).

В первую очередь, необходимо указать работу в кодировке UTF-8:

(Кодировку также нужно будет указать самому терминалу — см. ниже).

Также наверняка захочется настроить вид системного приглашения (текущее можно посмотреть, дав команду echo $PS1 ):

Перечитать конфигурационный файл без перезапуска терминала можно командой .

Пути файловой системы

Все пути начинаются с / (как в Unix-системах). Путь вида C:/somedir отображается в виде /c/somdeir . Можно использовать и в оригинале ( C:/. ), но с ним не будет работать достройка путей по Tab .

, указывающее на домашний каталог пользователя.

Имена системных переменных нужно писать, начиная с $ , а не обрамляя % : echo $PATH , а не echo %PATH .

При прямом запуске из командной строки bash стартует в стандартной консоли Windows cmd , которая работает в кодировке CP866 . Чтобы консоль работала в UTF-8, перед запуском bash нужно дать команду CHCP 65001 .

Автоматизировать этот процесс можно так:

  1. Создать рядом с bash.exe файл b.bat (короткое имя — для быстрого запуска):
  1. Запускать bat-файл из диалога Run: Win+R; b; Enter .

В результате будет получен полностью готовый к работе терминал с командной оболочкой bash.

Редактор vi (а точнее, vim ) используется как стандартный редактор при написании commit-сообщений git . Для корректной работы с кириллическим текстом в настройках запуска vim нужно явно указать кодировку UTF-8. Это делается в файле .vimrc , который нужно поместить в домашний каталог пользователя (по аналогии с *nix-системами):

Предварительно терминалу Windows обязательно должна быть установлена кодовая страница 65001 (см. предыдущий пункт), иначе редактор будет работать некорректно.

Глобальные настройки на уровне пользователя ОС git хранит в файле .gitconfig в домашнем каталоге пользователя так же, как в Linux. Можно сразу скопировать этот файл с какого-нибудь рабочего сервера и исправить в нем нужные места, вместо того, чтобы давать набор команд git config —global .

Как правило, необходимо указать имя и email:

Без этого git не даст отправлять изменения в удаленные репозитории ( git push ).

Чтобы получать и отправлять изменения в удалённые репозитории без ввода пароля, git должен иметь возможность пользоваться ssh-ключом. У самого git нет настроек, позволяющих явно указывать ключ — в этом он всецело полагается на команду ssh .

Самый простой путь задействовать свой приватный ключ — скопировать его openssh-версию в файл

/.ssh/id_rsa (снова точно так же, как в Linux). Он будет использоваться не только при работе git, но и при использовании команды ssh для соединения к удаленным сервером напрямую (которую можно использовать как альтернативу putty).

Такой подход предполагает, что для всех соединений будет использоваться один и тот же ключ.

Если для разных хостов нужны разные ключи, потребуется более детальная настройка ssh . Подробнее см. https://stackoverflow.com/a/25924462.

Странности (то, что работает не так, как в Linux)

Adding Git-Bash to the new Windows Terminal

I’m trying to add a new terminal (Git Bash) to the new Windows Terminal. However, I can’t get it to work.

I tried changing the commandline property in the profiles array to git-bash.exe but no luck.

Does anyone have an idea how to get this to work?

Читайте также:  Что такое windows update troubleshooter

10 Answers 10

Overview

  1. Open settings with ctrl + ,
  2. You’ll want to append one of the profiles options below (depending on what version of git you have installed) to the «list»: portion of the settings.json file

Profile options

Uncomment correct paths for commandline and icon if you are using:

  • Git for Windows in %PROGRAMFILES%
  • Git for Windows in %USERPROFILE%
  • If you’re using scoop

You can also add other options like:

Notes

  • make your own guid as of https://github.com/microsoft/terminal/pull/2475 this is no longer generated.
  • the guid can be used in in the globals > defaultProfile so you can press you can press Ctrl Shift T or start a Windows terminal and it will start up bash by default
  • -l -i to make sure that .bash_profile gets loaded
  • use environment variables so they can map to different systems correctly.
  • target git/bin/bash.exe to avoid spawning off additional processes which saves about 10MB per process according to Process Explorer compared to using bin/bash or git-bash

There are below things to do.

  1. Make sure your git command can be run successfully in CMD

That means you need to add git to path when install git or add it to system environment later.

  1. Update the config file profile.json

Open Settings , add following snippet inside the word profiles :

The icon can be obtained here: git-bash_32px.ico

You can add icons for Tab to this location:

Put 32×32 PNG/icons in this folder, and then in profile.json you can reference the image resource with the path starting with ms-appdata:// .

Note that, please make sure the Guid is correct and it matches the corresponding correct configs.

  1. Test git bash works well in Windows Terminal

The final result is below:

This is the complete answer (GitBash + color scheme + icon + context menu)

1) Set default profile:

2) Add GitBash profile

3) Add GitBash color scheme

4) To add a right-click context menu «Windows Terminal Here»

  • replace
  • create icon folder, put the icon there and replace
  • save this in a whatever_filename.reg file and run it.

Because most answers either show a lot of unrelated configuration or don’t show the configuration, I created my own answer that tries to be more focused. It is mainly based on the profile settings reference and Archimedes Trajano’s answer.

Steps

Open PowerShell and enter [guid]::NewGuid() to generate a new GUID. We will use it at step 3.

Open the settings of Windows Terminal. ( CTRL + , )

Add the following JSON object to profiles.list . Replace guid with the one you generated at step 1.

Notes

There is currently an issue that you cannot use your arrow keys (and some other keys). It seems to work with the latest preview version, though. (issue #6859)

Specifying «startingDirectory» : «%USERPROFILE%» shouldn’t be necessary according to the reference. However, if I don’t specify it, the starting directory was different depending on how I started the terminal initially.

Settings that shall apply to all terminals can be specified in profiles.defaults .

I recommend to set «antialiasingMode»: «cleartype» in profiles.defaults . You have to remove «useAcrylic» (if you have added it as suggested by some other answers) to make it work. It improves the quality of text rendering. However, you cannot have transparent background without useAcrylic . See issue #1298.

If you have problems with the cursor, you can try another shape like «cursorShape»: «filledBox» . See cursor settings for more information.

Оцените статью