Разница между локальными параметрами конфигурации Git и учетной записью GitHub? - PullRequest
0 голосов
/ 09 февраля 2020

Справочная информация: Я недавно начал использовать GitHub для университетских заданий, но до этого я использовал личную учетную запись GitHub. Однако для этих конкретных c задач нас попросили изменить локальные (?) git параметры в терминале (git config --global user.name/user.email) на наш идентификатор колледжа и адрес электронной почты. ,

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

Для второго задания в другом репо я изменил параметры git, как и раньше, но на этот раз коммиты на GitHub были показаны под моим личным именем пользователя, и я мог щелкнуть по картинке, чтобы увидеть свой аккаунт. Кроме того, git вход в терминал по-прежнему показал, что имя пользователя для фиксации было моим идентификатором колледжа, а не именем пользователя моей учетной записи GitHub.

Поэтому мой вопрос : в чем разница между git параметры конфигурации и информация об учетной записи GitHub? Есть ли какая-то важность в изменении параметров конфигурации git и будет ли эта информация где-либо видна?

Примечание. Все ранее упомянутые операции выполнялись через macOS и встроенный терминал.

1 Ответ

0 голосов
/ 09 февраля 2020

GitHub связывает коммит с учетной записью на основе его адреса электронной почты. Если у меня есть bk2204@example.com для одной учетной записи и bmc@example.net для другой, то какая из них я использую в коммите, определяет, с какой учетной записью он связан.

Изменение параметра конфигурации user.email определяет, какой адрес электронной почты используется в коммите, поэтому вы видите, что он связан с другим пользователем.

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

Если вы храните всю свою работу в университете под одним путем, вы можете добавить что-то вроде следующего к вашему ~/.gitconfig и запустить git config -f ~/.gitconfig.university user.email me@example.edu, и все будет работать:

[includeIf "gitdir:~/checkouts/university"]
    path = ~/.gitconfig.university

Обратите внимание, что для этого требуется более поздняя версия Git; Вы можете проверить, поддерживает ли ваша версия это, запустив git config --help и выполнив поиск includeIf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...