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

Как сменить пользователя в git bash

  • автор:

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?

Всем привет.
У меня два профиля в github.
Я всегда работал под одним, но сейчас переключился на другой.
Склонировал репозиторий и кагда пытаюсь сделать push мне пишет что у меня нет прав.
я пытался изменить через консоль имя пользователя и эмейл.
git config —global user.name «username»
git config —global user.email user@email.com

но ничего не меняется.
Как это можно исправить? Спасибо.

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

1 комментарий

Оценить 1 комментарий

Меняйте локально, на уровне репозитория.
Решения вопроса 1
«I’m here to consult you» © Dogbert

Склонировал репозиторий и кагда пытаюсь сделать push мне пишет что у меня нет прав.

Если вы склонировали репозиторий для доступа по ssh, то вам нужно либо добавить на сервере аутентификационные данные нового пользователя, либо пушить от имени старого пользователя.
Например, если сервер — это github, то нового пользователя можно добавить здесь, просто добавив его публичный ключ.

я пытался изменить через консоль имя пользователя и эмейл.
git config —global user.name «username»
git config —global user.email user@email.com

Эти параметры используются чтобы определить автора коммита, они не относятся к аутентификации.
Ответ написан более трёх лет назад
Нравится 1 2 комментария
Vitalii Bryl @shuffler_agr0s

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

Так как решить все-таки смену пользователя для auth?
Vitalii Bryl, первая часть ответа не помогает?
Ответы на вопрос 0
Ваш ответ на вопрос

Войдите, чтобы написать ответ

github

  • GitHub

Как иметь в репозитории 2 ветки и не получать уведомление «Compare & pull request»?

  • 1 подписчик
  • 4 часа назад
  • 26 просмотров

Настройка имени пользователя в Git

Git использует имя пользователя для связывания фиксаций с удостоверением. Имя пользователя Git не совпадает с именем пользователя GitHub.

Platform navigation

Сведения об именах пользователей Git

Вы можете изменить имя, связанное с фиксациями Git, с помощью команды git config . Новое имя будет отображаться в любых будущих фиксациях, отправляемых в GitHub из командной строки. Если вы не хотите указывать свое настоящее имя, вы можете использовать любой текст в качестве имени пользователя Git.

Изменение имени, связанного с фиксациями Git, с помощью git config будет влиять только на будущие фиксации и не повлияет на имя, использованное для предыдущих фиксаций.

Настройка имени пользователя Git для каждого репозитория на компьютере

  1. Откройте Терминал Терминал GIT Bash .
  2. Задайте имя пользователя Git:
git config --global user.name "Mona Lisa" 
$ git config --global user.name > Mona Lisa 

Настройка имени пользователя Git для одного репозитория

  1. Откройте Терминал Терминал GIT Bash .
  2. Измените текущий рабочий каталог на локальный репозиторий, в котором необходимо настроить имя, связанное с фиксациями Git.
  3. Задайте имя пользователя Git:
git config user.name "Mona Lisa" 
$ git config user.name > Mona Lisa 

Дополнительные материалы

  • «Указание адреса электронной почты для фиксаций»
  • Раздел «Конфигурация Git» из книги Pro Git

Сменить пользователя Git [дубликат]

Пол года назад установил себе на домашний пк с windows 7 git. Зарегистрировал аккаут залил пару репозиториев но в целом почти не пользовался. Во время первой настройки указал имя пользователя и почту.

git config —global user.name1 git config —global user.email1

Спустя время уже с другого компьютера зарегистрировал новую учетку, и при первом запуске git в консоли прописал уже name2 и user.email2. Теперь возникла ситуация что на рабочем пк в Git стоит user.name2 а на домашнем user.name1 из за этого при попытке залить репозиторий возникает ошибка 403. Логин и пароль не спрашивает только выдает ошибку. Вопрос : как выйти или вообще удалить своего старого user.name1 и зайти в гит под новой учеткой? ввожу git remote -v получаю fatal: Not a git repository (or any of the parent directories): .git

Отслеживать
задан 9 апр 2017 в 21:03
3,860 4 4 золотых знака 36 36 серебряных знаков 82 82 бронзовых знака
добавьте в вопрос результат git remote -v
9 апр 2017 в 21:05

в том вопросе нет ответа который мне бы помог. я удалил учетку гита из —Панель управления\Учетные записи пользователей и семейная безопасность\Диспетчер учетных данных— но при новом запуске все еще захожу в user.name1

9 апр 2017 в 21:14

стоит заметить, что имя системного пользователя в Windows, имя github пользователя и имя, используемое git для выбранного репозитория, могут отличаться друг от друга. git remote -v следует выполнять в директории с git репозиторием.

10 апр 2017 в 12:28
как мне сменить имя github пользователя и имя, используемое git для выбранного репозитория ?
10 апр 2017 в 14:53

@Сергей, git config —global — настройки по умолчанию для всех репозиториев, git config —local — для конкретного (выполнять в папке рабочей копии). Подробнее в справке по git config

11 апр 2017 в 6:26

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Опции в git config не имеют отношения к доступу на гитхаб*. Они используются только в данных о коммитах. Обычно используется только адрес электронной почты для установления, кем совершён коммит. Если по email-адресу аккаунт на гитхабе не распознан, показывается просто имя.

При доступе к репозиторию (push, pull, fetch, clone) по HTTPS при всех действиях с участием сервера вас попросят ввести логин и пароль на гитхабе. В зависимости от ОС, настроек и дистрибутива Git они могут сохраняться в хранилище учётных данных (под Windows, например, таком, его записи можно найти и удалить в дебрях панели управления).

А при доступе к репозиторию по SSH гитхаб узнаёт аккаунт по SSH-ключу. Узнать, какими ключами пытается воспользоваться Git, можно в Git Bash (который во всех известных мне дистрибутивах Git для Windows есть) следующей командой:

ssh -v [email protected] 2>&1 | grep "Trying private key" 

Спросить у гитхаба о доступе к SSH, сваливая все результаты в стандартный вывод ( 2>&1 ), достать из результатов строчки, содержащие «Trying private key»

* Обычно. В настройках может быть задана особая SSH-команда с реквизитами (в вашем случае вряд ли) или настройки хранилища учётных данных (а вот это может быть, но реквизитами в этом случае заведует хранилище, не конфиг).

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

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