Перейти к содержимому

Git exe где лежит

  • автор:

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

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

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

  1. Файл [path]/etc/gitconfig содержит значения, общие для всех пользователей системы и для всех их репозиториев. Если при запуске git config указать параметр —system , то параметры будут читаться и сохраняться именно в этот файл. Так как этот файл является системным, то вам потребуются права суперпользователя для внесения изменений в него.
  2. Файл ~/.gitconfig или ~/.config/git/config хранит настройки конкретного пользователя. Этот файл используется при указании параметра —global и применяется ко всем репозиториям, с которыми вы работаете в текущей системе.
  3. Файл config в каталоге Git (т. е. .git/config ) репозитория, который вы используете в данный момент, хранит настройки конкретного репозитория. Вы можете заставить Git читать и писать в этот файл с помощью параметра —local , но на самом деле это значение по умолчанию. Неудивительно, что вам нужно находиться где-то в репозитории Git, чтобы эта опция работала правильно.

Настройки на каждом следующем уровне подменяют настройки из предыдущих уровней, то есть значения в .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 config --list --show-origin

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

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

$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com

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

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

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

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

$ git config --global core.editor emacs

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

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

$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Примечание

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 --global init.defaultBranch main

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

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

$ git config --list user.name=John Doe user.email=johndoe@example.com color.status=auto color.branch=auto color.interactive=auto color.diff=auto . 

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

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

$ git config user.name John Doe

Примечание

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

$ git config --show-origin rerere.autoUpdate file:/home/johndoe/.gitconfig false

Начало работы с Git на подсистема Windows для Linux

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

Git можно установить в Windows AND в WSL

Важно учитывать, что при включении WSL и установке дистрибутива Linux вы устанавливаете новую файловую систему, отделяемую от диска Windows NTFS C:\ на компьютере. В Linux диски не задаются буквами. Они получают точки подключения. Корнем файловой системы / является точка подключения корневой секции или папки в случае WSL. Не все под / тем же диском. Например, на ноутбуке я установил две версии Ubuntu (20.04 и 18.04), а также Debian. Если открыть эти дистрибутивы, выберите домашний каталог с помощью команды, а затем введите команду cd ~ explorer.exe . , Windows проводник откроется и отобразит путь к каталогу для этого дистрибутива.

Дистрибутив Linux Путь к Windows для доступа к домашней папке
Ubuntu 20.04 \\wsl$\Ubuntu-20.04\home\username
Ubuntu 18.04 \\wsl$\Ubuntu-18.04\home\username
Debian \\wsl$\Debian\home\username
Windows PowerShell C:\Users\username

Если вы ищете доступ к каталогу файлов Windows из командной строки дистрибутива WSL, а не C:\Users\username к каталогу, будет доступен доступ, /mnt/c/Users/username так как дистрибутив Linux просматривает файловую систему Windows как подключенный диск.

Вам потребуется установить Git в каждой файловой системе, с которой вы планируете использовать ее.

Установка Git

Git уже установлена с большинством дистрибутивов подсистема Windows для Linux, однако может потребоваться обновить до последней версии. Вам также потребуется настроить файл конфигурации Git.

Сведения об установке Git см. на сайте Git Download for Linux . У каждого дистрибутива Linux есть собственный диспетчер пакетов и команда установки.

Для последней стабильной версии Git в Ubuntu/Debian введите команду:

sudo apt-get install git 

Вы также можете установить Git для Windows , если вы еще не сделали этого.

Настройка файла конфигурации Git

Чтобы настроить файл конфигурации Git, откройте командную строку для дистрибутива, в которой вы работаете, и задайте имя с помощью этой команды (заменив «Ваше имя» предпочитаемым именем пользователя):

git config --global user.name "Your Name" 

Задайте сообщение электронной почты с помощью этой команды (заменив «youremail@domain.com» предпочитаемой электронной почтой):

git config --global user.email "youremail@domain.com" 

Если у вас еще нет учетной записи GitHub, вы можете зарегистрироваться для него на сайте GitHub. Если вы никогда не использовали Git, обратитесь к руководствам по GitHub. Они помогут вам приступить к работе. Если необходимо изменить конфигурацию Git, это можно сделать с помощью встроенного текстового редактора, например nano: nano ~/.gitconfig

Настройка диспетчера учетных данных Git

Диспетчер учетных данных Git (GCM) — это безопасный вспомогательный компонент учетных данных Git, созданный на платформе .NET , который можно использовать как с WSL1, так и с WSL2. Она обеспечивает поддержку многофакторной проверки подлинности для репозиториев GitHub, Azure DevOps, Azure DevOps Server и Bitbucket.

GCM интегрируется в поток проверки подлинности для таких служб, как GitHub, и после проверки подлинности у поставщика услуг размещения запрашивает новый маркер проверки подлинности. Затем он сохраняет маркер безопасно в диспетчере учетных данных Windows. В первый раз вы можете использовать Git для связи с поставщиком услуг размещения без необходимости повторной проверки подлинности. Он просто обратится к маркеру в диспетчере учетных данных Windows.

Чтобы использовать GCM с WSL, необходимо использовать Windows 10 версии 1903 или более поздней. Это первая версия Windows, которая включает необходимый wsl.exe инструмент, который GCM использует для взаимодействия с Git в дистрибутивах WSL.

Рекомендуется установить последнюю версию Git для Windows , чтобы предоставить общий доступ к параметрам учетных & данных между WSL и узлом Windows. Диспетчер учетных данных Git входит в состав Git для Windows, а последняя версия включается в каждый новый выпуск Git для Windows. Во время установки вам будет предложено выбрать вспомогательный компонент учетных данных с GCM, заданным по умолчанию.

Если у вас есть причина не устанавливать Git для Windows, вы можете установить GCM в качестве приложения Linux непосредственно в дистрибутиве WSL, но обратите внимание, что это означает, что GCM работает в качестве приложения Linux и не может использовать функции проверки подлинности или хранилища учетных данных операционной системы Windows узла. Инструкции по настройке WSL без Git для Windows см. в репозитории GCM.

Чтобы настроить GCM для использования с дистрибутивом WSL, откройте дистрибутив и введите следующую команду:

Если установлен GIT = >версия 2.39.0

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe" 

else, если установлен >GIT = версия 2.36.1

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe" 
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager-core.exe" 

Использование GCM в качестве вспомогательной функции учетных данных для установки WSL Git означает, что любой набор конфигурации в WSL Git не учитывается GCM (по умолчанию). Это связано с тем, что GCM работает в качестве приложения Windows и, следовательно, будет использовать Git для установки Windows для запроса конфигурации. Это означает, что такие параметры прокси-сервера для GCM должны быть установлены в Git для Windows, а также WSL Git, так как они хранятся в разных файлах ( %USERPROFILE%\.gitconfig vs \\wsl$\distro\home\$USER\.gitconfig ). Вы можете настроить WSL таким образом, чтобы GCM использовал конфигурацию WSL Git, но это означает, что параметры прокси-сервера будут уникальными для конкретной установки WSL, а не совместно с другими пользователями или узлом Windows.

Git с SSH

Диспетчер учетных данных Git работает только с удаленными устройствами HTTP(S). Вы по-прежнему можете использовать Git с SSH:

Дополнительная конфигурация для Azure

Если вы планируете работать с Azure Repos или Azure DevOps, потребуется дополнительная конфигурация:

git config --global credential.https://dev.azure.com.useHttpPath true 

Теперь любая операция git, выполняемая в дистрибутиве WSL, будет использовать GCM. Если у вас уже есть кэшированные учетные данные для узла, к ним будет выполняться доступ из диспетчера учетных данных. В противном случае отобразится диалоговое окно с запросом учетных данных, даже если вы работаете в консоли Linux.

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

Добавление файла Git Ignore

Мы рекомендуем добавить в проекты файл .gitignore. GitHub предлагает коллекцию полезных шаблонов .gitignore с рекомендуемыми настройками файлов .gitignore, организованными в соответствии с вашим вариантом использования. Например, вот шаблон gitignore по умолчанию GitHub для проекта Node.js.

Если вы решили создать репозиторий с помощью веб-сайта GitHub, есть проверка поля, доступные для инициализации репозитория с помощью файла README, gitignore-файла, настроенного для конкретного типа проекта, и варианты добавления лицензии, если требуется.

Git и VS Code

Visual Studio Code поставляется со встроенной поддержкой Git, включая вкладку управления версиями, которая будет отображать изменения и обрабатывать различные команды Git для вас. Узнайте больше о поддержке Git VS Code.

Конец строки Git

Если вы работаете с той же папкой репозитория между Windows, WSL или контейнером, обязательно настройте согласованные конец строки.

Так как Windows и Linux используют разные конец строки по умолчанию, Git может сообщать о большом количестве измененных файлов, которые не имеют различий от их конец строки. Чтобы предотвратить это, можно отключить преобразование конец строки с помощью .gitattributes файла или глобально на стороне Windows. Ознакомьтесь с этим документом VS Code о разрешении проблем с Git конец строки.

Дополнительные ресурсы

  • WSL & VS Code
  • GitHub Обучение Lab: онлайн-курсы
  • Средство визуализации Git
  • Средства Git — учетные данные служба хранилища

Где git «клиент» хранит ключи?

Запускаю git-bash, из него запускаю ssh-agent (через eval $(ssh-agent -s)), добавляю приватный ключ (ssh-add ~/.ssh/id_rsa). (Ключ, конечно, заблаговременно подкладываю на сервер (в нужном формате) и в папку пользователя .ssh)
ssh-add -l честно показывает, что ключ есть.

Проверяю: git clone git@my_repository. -b branch dir — работает.
файлики вытягиваются из репозитария и падают на диск.

Дальше пытаюсь грохнуть ключ:
пробую сделать ssh-add -D (проверяю, clone в git-bash работает)
перезапускаю git-bash (clone в git-bash работает)
вручную убиваю процессы ssh.exe, ssh-agent.exe (clone в git-bash работает)

Почему. Где git-bash откладывает ключи, и почему clone потом работает, чего бы я ни делал?
Собственно, если изначально ключи лежат в папке .ssh, то после ssh-add они куда-то копируются (видимо и на диск и в память)?

(Вопрос не на пустом месте вырос, я попытался подключить два репозитария и не смог. Хочу пока хотя бы понять, где ж ключи хранятся).

  • Вопрос задан более трёх лет назад
  • 4325 просмотров

Where is Visual Studio’s git.exe location?

I’m configuring git through command line but changes seems doesn’t apply to Visual Studio‘s git actions, so I’m wondering perhaps VS uses another git instance with other configs, where can I find which git.exe is getting used by VS?

asked Sep 12, 2019 at 10:01
Grigoryants Artem Grigoryants Artem
1,471 2 2 gold badges 17 17 silver badges 33 33 bronze badges

You have added git to the PATH environment variable? If you just made this change, did you restart Visual Studio?

Sep 12, 2019 at 10:14

Sure git location is added to PATH, VS has been restarted, basically with command line I set git config core.autocrlf false but when committing with Visual Studio it still continues editing line endings

Sep 12, 2019 at 10:19
Please tell your VS version and how you proceeded to install git beforehand. It might be helpful.
Sep 12, 2019 at 10:37

git config core.autocrlf false should configure the repository you executed that command in, did you use Visual Studio in that repository, or did you use it in a different one?

Sep 12, 2019 at 10:54

Also note that Visual Studio by itself manages line endings in some cases. This may not be a git issue at all.

Sep 12, 2019 at 10:54

4 Answers 4

Visual Studio gets the location of the various git tools from the config file in the .git folder, for example, in lines like this:

[difftool "vsdiffmerge"] cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\vsdiffmerge.exe\" \"$LOCAL\" \"$REMOTE\" //t keepBackup = false 

Other than that, the only place I can find a git.exe on my PC is here:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe 

For Visual Studio 2022 (which runs in native 64 bit mode), the location is:

C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe 

119 3 3 silver badges 9 9 bronze badges
answered Sep 14, 2019 at 18:05
Adrian Mole Adrian Mole
50.8k 177 177 gold badges 53 53 silver badges 86 86 bronze badges
More info can be found in stackoverflow.com/questions/40058906/…
Sep 15, 2019 at 3:18

VS2019 appears to have a near full-blown install of Git for Windows hidden within it’s installation. The only thing that appears to be stripped out of it is Mintty. So you can set the GIT_PATH env var as well as GIT_SSH just like in Git for Windows and use it via CLI as easily as using git in Visual Studio.

You can find the path here: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd

and here: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin

Set your path to the first one (this is what Git for Windows uses).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *