Как настроить git bash

1.6 Введение — Первоначальная настройка Git

Первоначальная настройка Git

Теперь, когда Git установлен в вашей системе, самое время настроить среду для работы с Git под себя. Это нужно сделать только один раз — при обновлении версии Git настройки сохранятся. Но, при необходимости, вы можете поменять их в любой момент, выполнив те же команды снова.

В состав Git входит утилита git config , которая позволяет просматривать и настраивать параметры, контролирующие все аспекты работы Git, а также его внешний вид. Эти параметры могут быть сохранены в трёх местах:

Файл [path]/etc/gitconfig содержит значения, общие для всех пользователей системы и для всех их репозиториев. Если при запуске git config указать параметр —system , то параметры будут читаться и сохраняться именно в этот файл. Так как этот файл является системным, то вам потребуются права суперпользователя для внесения изменений в него.

/.config/git/config хранит настройки конкретного пользователя. Этот файл используется при указании параметра —global и применяется ко всем репозиториям, с которыми вы работаете в текущей системе.

Файл config в каталоге Git (т. е. .git/config ) репозитория, который вы используете в данный момент, хранит настройки конкретного репозитория. Вы можете заставить Git читать и писать в этот файл с помощью параметра —local , но на самом деле это значение по умолчанию. Неудивительно, что вам нужно находиться где-то в репозитории Git, чтобы эта опция работала правильно.

Читайте также:  Настрой gprs от билайн

Настройки на каждом следующем уровне подменяют настройки из предыдущих уровней, то есть значения в .git/config перекрывают соответствующие значения в [path]/etc/gitconfig .

В системах семейства Windows Git ищет файл .gitconfig в каталоге $HOME ( C:\Users\$USER для большинства пользователей). Кроме того, Git ищет файл [path]/etc/gitconfig , но уже относительно корневого каталога MSys, который находится там, куда вы решили установить Git при запуске инсталлятора.

Если вы используете Git для Windows версии 2.х или новее, то так же обрабатывается файл конфигурации уровня системы, который имеет путь C:\Documents and Settings\All Users\Application Data\Git\config в Windows XP или C:\ProgramData\Git\config в Windows Vista и новее. Этот файл может быть изменён только командой git config -f , запущенной с правами администратора.

Чтобы посмотреть все установленные настройки и узнать где именно они заданы, используйте команду:

Имя пользователя

Первое, что вам следует сделать после установки Git — указать ваше имя и адрес электронной почты. Это важно, потому что каждый коммит в Git содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена:

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

Многие GUI-инструменты предлагают сделать это при первом запуске.

Выбор редактора

Теперь, когда вы указали своё имя, самое время выбрать текстовый редактор, который будет использоваться, если будет нужно набрать сообщение в Git. По умолчанию Git использует стандартный редактор вашей системы, которым обычно является Vim. Если вы хотите использовать другой текстовый редактор, например, Emacs, можно проделать следующее:

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

В случае с Notepad++, популярным редактором, скорее всего вы захотите установить 32-битную версию, так как 64-битная версия ещё не поддерживает все плагины. Если у вас 32-битная Windows или 64-битный редактор с 64-битной системой, то выполните следующее:

Vim, Emacs и Notepad++ — популярные текстовые редакторы, которые часто используются разработчиками как в Unix-подобных системах, таких как Linux и Mac, так и в Windows. Если вы используете другой редактор или его 32-битную версию, то обратитесь к разделу Команды git config core.editor за дополнительными инструкциями как использовать его совместно с Git.

В случае, если вы не установили свой редактор и не знакомы с Vim или Emacs, вы можете попасть в затруднительное положение, когда какой-либо из них будет запущен. Например, в Windows может произойти преждевременное прерывание команды Git при попытке вызова редактора.

Настройка ветки по умолчанию

Когда вы инициализируете репозиторий командой git init , Git создаёт ветку с именем master по умолчанию. Начиная с версии 2.28, вы можете задать другое имя для создания ветки по умолчанию.

Например, чтобы установить имя main для вашей ветки по умолчанию, выполните следующую команду:

Проверка настроек

Если вы хотите проверить используемую конфигурацию, можете использовать команду git config —list , чтобы показать все настройки, которые Git найдёт:

Некоторые ключи (названия) настроек могут отображаться несколько раз, потому что Git читает настройки из разных файлов (например, из /etc/gitconfig и

/.gitconfig ). В таком случае Git использует последнее значение для каждого ключа.

Также вы можете проверить значение конкретного ключа, выполнив git config :

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

Источник

Работа с удаленными репозиториями github через git bash

Итак, первое, что необходимо сделать, чтобы работать с гит через консоль из под Windows, это скачать и установить git bash. Все настройки советую оставлять по умолчанию.

Итак, вы установили git bash и у имеете [удаленный репозиторий на github и] учетную запись, созданную через веб-интерфейс сайта github.com. Запускаем git bush и переходим в папку, в которой будет храниться/уже хранится наш локальный репозиторий. В дальнейшем, чтобы минимизировать выполняемые действия, советую создать небольшой скрипт вида:

В моем случае это

Который автоматически будет запускать git-bash в корне проекта.

Теперь нужно сказать, что github предоставляет два варианта взаимодействия с сервером: https и ssh. Ниже мы рассмотрим их более детально в трех вариантах развития событий. И первый вариант развития:

1. Новый репозиторий

Вы только что создали репозиторий на гитхаб и собираетесь выложить туда готовый проект

Для начала необходимо подготовить локальный репозиторий. Для этого вводим команды:

Первой командой ( git init ) мы инициализировали новый репозиторий. Команда git add . проиндексировала все файлы внутри текущей директории, а командой git commit -m «first commit» мы сделали первый commit (фиксацию изменений). Все, ура. Но пока промежуточное. Теперь нужно правильно выложить это все на гитхаб:

Для этого необходимо выполнить команду

  • https (например, https://github.com/Sanshain/django_test.git либо https://Sanshain@bitbucket.org/Sanshain/obfuscatenet.git для bitbucket)
  • ssh (например, git@github.com:Sanshain/django_test.git )

Нужно всего лишь ввести свои учетные записи (логин/пароль) в падающем окошке от гитхаб. И все файлы будут экспортированы в удаленный репозиторий.
Для второго же случая вам необходимо будет сгенерировать открытый и закрытый ключи у себя на пк. Для это выполните следующие команды:

2. Удаленный репозиторий

У вас уже есть репозиторий с вашим проектом на гитхаб, и нужно его синхронизировать с новым локальным репозиторием на пк. Переходим в папку, где будет храниться наш /репозиторий/проект (у меня это D: & cd D:\_github\ )

Для примера возьму свой репозиторий https://github.com/Sanshain/django_test.

Для клонирования существующего репозитория по https пишем:

Результат команды должен выглядеть примерно следующим образом:

Теперь внутри нашей папки мы увидим новую папку, содержащую все файлы и папки нашего (или не нашего открытого) удаленного репозитория. Для дальнейшей работы с этой папкой через git bash переходим в нее командой cd django_test

Теперь нужно учесть, что месторасположение файла в системе может отличаться от исходного, поэтому при запуске, вероятно, вы можете увидеть ошибки. А потому и конфигурацию нужно настраивать самостоятельно. Для того, чтобы это не делать каждый раз, в удаленном репозитории необходимо правильно настроить .gitignore , специальный файл исключений, который поможет отключить из скв файл конфигурации. В моем случае это файл — manage.py .

Создается .gitignore с помощью команды touch .gitignore либо сразу с содержимым — echo ‘manage.py’ > .gitignore .

Если у вас python, советую добавить туда pyc-файлы строкой `*.pyc`.

Однако это не все… Если ‘manage.py’ уже проиндексирован, то необходимо его удалить [из индекса], сделать коммит и затем снова добавить (не забудьте скопировать перед выполнением):

И добавляем обратно. Пишем еще какие-то изменения.

Если в процессе изменений были добавлены новые файлы, делаем git add . .

Теперь можно коммитить на удаленный репозиторий наши изменения. Сперва проверяем удаленные репозитории:

Если пусто, то задаем. Есть два варианта подключения к удаленным репозиториям:

— первый запросит у нас логин/пароль от аккаунта

— второй потребует создание публичного ключа шифрования для гитхаб

Если удаленные репозитории уже заданы, делаем git push origin master (если репозиторий уже отpushен с другого локального репозитория, то сперва необходимо выполнить git pull origin master )

3. Общий репозиторий

И теперь рассмотрим самый коронный случай: у нас есть общий удаленный репозиторий и два локальных репозитория на разных компах, при чем оба репозитория могут коммитить файлы независимо друг от друга. Пример:

Вася сделал коммит со своего компа на удаленный репозиторий и ушел домой, но Петя остался на работе и продолжил править файлы, и сделал коммит на удаленный позже Васи. Вася на следующий день придет и уже не сможет продолжить работу со своим локальным репозиторием без угрозы потери изменений, которые делал Петя в его отсутствие в глобальный репозиторий, поскольку если он продолжит работу со своим локальным репозиторием и ‘от push ит’ его в глобальный, то попросту рискует их затереть. Поэтому ему необходимо сделать так называемый pull.

Команда pull объединяет в себе две команды — fetch (скачивает изменения) и merge (делает слияние). Выглядит она вот так:

В моем случае это выглядит вот так:

Если же Вася перед push уже успел внести какие-либо правки до выполнения команды pull , то при ее выполнении он может столкнуться с конфликтами. Конфликты бывают разной степени «тяжести».

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

Если же нужно, чтобы файл целиком подменился его глобальной версией, вместо outer необходимо использовать параметр theirs .

Далее выполнить `git add -u` и git commit -m ‘merge’ .

Источник

Git Bash

По сути Git — это набор служебных программ командной строки, предназначенных для выполнения в Unix-подобных средах. Современные операционные системы, такие как Linux и macOS, имеют встроенные терминалы командной строки. Благодаря этому они особенно удобны для работы с Git. В Microsoft Windows используется командная строка Windows, отличная от терминала Unix-систем.

В средах Windows система Git часто упаковывается в виде части высокоуровневого приложения с графическим интерфейсом. Графические интерфейсы для Git могут абстрагировать и скрывать базовые компоненты системы контроля версий, которая лежит в основе. Это отличное подспорье для новичков в Git, чтобы они могли быстро внести свой вклад в проект. Но когда требования повышаются и предполагается работа с остальными членами команды, необходимо понимать принципы работы исходных методов Git. Тогда может быть выгодно отказаться от версии с графическим интерфейсом в пользу инструментов командной строки. Интерфейс терминала Git предлагается в приложении Git Bash.

Что такое Git Bash?

Git Bash — это приложение для сред Microsoft Windows, эмулирующее работу командной строки Git. Bash — аббревиатура от Bourne Again Shell. Оболочка (Shell) представляет собой приложение терминала для взаимодействия с операционной системой с помощью письменных команд. Bash — популярная оболочка, используемая по умолчанию в Linux и macOS. Git Bash представляет собой пакет, который устанавливает в операционную систему Windows оболочку Bash, некоторые распространенные утилиты Bash и систему Git.

Установка Git Bash

Git Bash поставляется в составе пакета Git For Windows. Скачайте и установите Git For Windows, как любое другое приложение для Windows. После загрузки найдите входящий в состав пакета файл .exe и откройте его, чтобы запустить Git Bash.

Использование Git Bash

Git Bash поддерживает те же операции, что и стандартная оболочка Bash. Полезно изучить основные примеры использования Bash. Поскольку этот документ посвящен системе Git, расширенные примеры использования Bash здесь не рассматриваются.

Bash-команда pwd используется для вывода пути к текущему рабочему каталогу. Команда pwd эквивалентна выполнению команды cd в терминале DOS (или в консоли Windows). Это папка или путь для текущего сеанса Bash.

Bash-команда ls используется для вывода списка содержимого текущего рабочего каталога. Команда ls эквивалентна команде DIR в консоли Windows.

И оболочка Bash, и консоль Windows поддерживают команду cd . Команда cd представляет собой акроним от «Change Directory» (сменить каталог). Команда cd вызывается с добавлением в качестве аргумента имени каталога. При выполнении команды cd происходит смена текущего рабочего каталога сеанса терминала на каталог, переданный в виде аргумента.

Команды Git Bash

Готовы изучить Git?

Ознакомьтесь с этим интерактивным обучающим руководством.

Источник

1234ru / git-bash-win.md

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

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

В первую очередь, это оболочка 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)

Источник

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