git выдвигает неверного пользователя из терминала

У меня проблема с git и моим терминалом.

Вот галерея, в которой вы можете увидеть мою проблему: http://imgur.com/a/6RrEY

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

Но этого не происходит, когда я использую Github для Mac, в ленте я вижу коммиты, которые я сам нажимаю.

Эта проблема также затрагивает мои личные репозитории, мой терминал говорит, что у меня нет разрешения выдавать коммиты в эти репозитории (что, очевидно, неправильно), так как он пытается отправить его этому пользователю: (проверить галерею второе фото)

Угадай что? Этого не происходит и с Github для Mac.

Несколько дней назад я изменил свой компьютер на совершенно новый, поэтому я сбросил все свои ssh-ключи в github и оставил только новый, сгенерированный Github для Mac, поэтому я не думаю, что есть какой-то призрачный пользователь /Ключ ssh где-то спрятан, этот жесткий диск совершенно новый: (проверьте третью фотографию галереи)

Мой файл .gitconfig полностью очищен, есть только мои учетные данные: (проверьте галерею, четвертое изображение)

Я действительно не понимаю, помогите, StackOverflow, вы моя единственная надежда.

(мои извинения за плохие навыки Gimp и справку по Star Wars)

EDIT: ssh-add -l показывает только хороший ключ ssh, созданный github для Mac, и у меня есть только один аккаунт github

EDIT2: ssh -T [email protected] признайте меня хорошим пользователем.

EDIT3: После нескольких тестов похоже, что мой терминал выполняет коммиты с моим именем пользователя, но толкает их с другим, Github для Mac фиксирует и толкает с хорошим именем пользователя. Такая ситуация происходит с каждым репо у меня есть /делают (даже новые).

EDIT4: в личном хранилище git log --pretty="%h %an %ae" показывает мое хорошее имя пользователя

EDIT5: В моих env нет признаков переменных среды, которые могли бы переопределить мои учетные данные. Даже если я попытаюсь установить эти переменные с хорошими учетными данными, проблема не исчезнет.

EDIT6: все будет работать нормально, если я заставлю пользователя указать путь /.git/config хранилища. но я не думаю, что это хороший вариант: http://[email protected]/USER/REPO.git

EDIT7: мы удалили пользователя git, который выдал мне коммиты, и это вызывает еще одну ошибку: remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/USER/REPO.git/'

ЗАКЛЮЧИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ: я установил git с помощью homebrew, набрал git config --global push.default simple и теперь он занимает мое учетные данные, даже не заставляя пользователя. Это странно. Спасибо всем за вашу помощь, вы отличные ребята!

78 голосов | спросил Yinfei 7 FebruaryEurope/MoscowbFri, 07 Feb 2014 02:27:19 +0400000000amFri, 07 Feb 2014 02:27:19 +040014 2014, 02:27:19

10 ответов


0

Несмотря на все замечательные возможности, предоставленные другими пользователями, единственный способ исправить это - полностью переустановить git и набрать git config --global push.default simple для перезаписи хорошие полномочия.

ответил Yinfei 12 MarpmWed, 12 Mar 2014 12:35:46 +04002014-03-12T12:35:46+04:0012 2014, 12:35:46
0

У меня только что была эта проблема на работе. Встроенный git, который поставляется с mac или поставляется при установке xcode, кэширует учетные данные git в связке ключей. Исправление для меня было:

начать доступ к цепочке ключей (запустить центр внимания через cmd + пробел, набрать цепочку для ключей, нажать enter)

Под цепочками ключей слева вверху выберите «Войти» Под категорией слева выберите «пароли»

найдите имя "github" и удалите его.

ответил user542833 10 J0000006Europe/Moscow 2014, 04:10:37
0

github идентифицирует вас по ключу ssh, который видит, а не по настройкам из git.

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

Используйте ssh-add -l, чтобы определить, какие ключи находятся в вашем наборе ключей, и ssh-add -d <keyfile> чтобы удалить ключ из вашего набора ключей, если он не работает, удалите «нежелательный» ключ ssh из ~/.ssh/config .

source

ответил nithin 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 12 Sep 2016 01:34:46 +0300 2016, 01:34:46
0
  

похоже, мой терминал выполняет коммиты с моим именем пользователя, но толкает их с другим

Имя автора и коммиттера, а также адрес электронной почты (которые важны для GitHub) получены из:

git config user.name
git config user.email

Однако, как упоминалось в git config и git commit-tree , эти значения могут быть переопределены переменными среды:

GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL
GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL

Итак, перепроверьте эти переменные.

  

Все работает нормально, если я заставлю пользователя в .git/config хранилища, но я не думаю, что это хороший вариант.

Но это должно быть хорошим решением.
При использовании https-адреса я всегда указываю в нем пользователя, чтобы убедиться, что аутентификация выполняется с правильным пользователем.

http://[email protected]/USER/REPO.git
ответил VonC 7 FebruaryEurope/MoscowbFri, 07 Feb 2014 11:35:55 +0400000000amFri, 07 Feb 2014 11:35:55 +040014 2014, 11:35:55
0

Если вы используете MAC, перейдите в Доступ к связке ключей и удалите запись пользователя, для которого вы не хотите использовать git.

ответил Chitrapal Singh 15 Mayam16 2016, 07:04:23
0

Сначала запускается временное решение killall ssh-agent, а затем добавляются ключи ssh, созданные для учетной записи, которую необходимо использовать ssh-add ~/.ssh/id_4shameer

Это поможет нам работать с несколькими учетными записями github, когда мы получим ошибку типа ERROR: Permission to user/repo-git.git denied to username.

ответил mshameer 2 32016vEurope/Moscow11bEurope/MoscowWed, 02 Nov 2016 11:44:26 +0300 2016, 11:44:26
0

Решением для меня было добавить запись в мой файл ~ /.ssh /config для github. Я должен был сделать это, потому что:

  1. У меня было несколько учетных записей github с одним и тем же ключом (не делайте этого!)
  2. когда вы выполняете git push с использованием ssh, ваш компьютер по умолчанию захватывает id_rsa и использует его в качестве идентификатора ssh.
  3. github не может (что неудивительно) отменить конфликт, который вы имеете в виду, так как он основывает учетную запись на ключе, который он представляет, что, если он связан с несколькими учетными записями, приводит к такой боли. Убийца, в течение долгого времени, мне это сходит с рук, и все просто работает.

Запись, которую я добавил:

Host github.com
    Hostname github.com
    Port 22
    User waterproofpatch
    IdentityFile ~/.ssh/id_rsa_waterproofpatch

Я создал ключ новый , уникальный для моей учетной записи, как id_rsa_waterproofpatch. Эта запись в моей конфигурации ssh указывает, что для соединений с github.com я хочу предоставить этот ключ.

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

ответил waterproofpatch 2 Mayam18 2018, 07:22:14
0

очистка цепочки для ключей не помогла ... Мне пришлось ssh-add -D и заново добавить ключ с ssh-add <keyfile>

ответил Victor Piousbox 3 Maypm18 2018, 18:39:13
0

Я решил эту проблему, удалив (или переименовав в * .bak) файл id_rsa и id_rsa.pub в MacOS High Sierra. Идея здесь .

У меня есть пользовательские перенаправления хоста в ~ /.ssh /config, которые должны быть применены, но использовались не тем пользователем, пока я не переименовал два файла ...

ответил CodingYourLife 18 J000000Wednesday18 2018, 15:19:40
0

Вот что у меня сработало:

  1. Изменение учетных данных внутри .git-credentials
  2. Изменение глобальных user.name и user.email внутри .gitconfig
ответил reshetech 10 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 10 Sep 2018 18:32:39 +0300 2018, 18:32:39

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132