Это просто две разные вещи. Единственная причина, по которой они связаны друг с другом, заключается в том, что мы устанавливаем неявную связь между учетной записью GitHub и пользователем, чья электронная почта участвует в коммитах (В действительности это не совсем так, но об этом позже. Я пытаюсь сделать точку).
Хорошо, более формально: Да, вы правильно понимаете, что вы можете установить любые user.name
и user.email
, независимо от фактической учетной записи GitHub. Почему это может случиться?
Потому что git
, как в вашем .git
проекте не имеет значения где вы размещаете свой код. Это может быть GitHub, GitLab или Bitbucket, сам хостинг, на той же машине в другой папке, где угодно. Все, что беспокоит git
, - это тот факт, что для каждого коммита существует человек, который создал этот коммит, его / ее имя известно и его / ее адрес электронной почты известен. Это то, что пользователь для git, это то, для чего git использует пользователя (в своей основной форме c).
Так зачем нужна учетная запись GitHub? Потому что это просто еще одна онлайн-платформа, на которой вам нужно иметь учетную запись. Это ничем не отличается от наличия учетной записи Facebook или Twitter.
Вот почему мы имеем неявное соединение между ними. Потому что ни один из ваших git проектов не заботится о GitHub или любом другом сервисе, и GitHub не будет жаловаться на то, какую электронную почту и имя вы используете. наших git учетных записей и просто создайте ложные коммиты и отправьте их sh невольно на наши собственные учетные записи GitHub. Да, вы можете сделать это. Вы можете взять мою электронную почту и имя пользователя, которые я использую для своих коммитов, и зафиксировать ваши проекты. Почему твой? Потому что вы можете аутентифицировать вашу учетную запись GitHub. Вы не можете pu sh для моих проектов, если я не предоставлю вам права или вы не знаете мой аккаунт GitHub!
Хорошо, последнее, но не менее важное, я немного соврал вам в начале , Я постоянно говорю, что у нас есть неявная связь между ними, но более чем очевидно, что это не совсем так. Лучший способ сказать это: GitHub тесно связан с вашим git.username and git.email
, тогда как git
сам по себе очень мало заботится о таких провайдерах. Мы видим, что GitHub имеет такую связь с вашей учетной записью git
из-за ограничений безопасности ...
Вот часть документации от GitHub
Коммиты появятся на вашем график вклада, если они отвечают всем следующим условиям: Адрес электронной почты, используемый для коммитов, связан с вашей учетной записью GitHub.
Так что технически ДА, вы можете притворяться другими людьми, но не будете получить что-нибудь из этого.
Редактировать Это также хорошее время, чтобы отметить, что git
также поддерживает подписывание коммитов / тегов. Способ для вас доказать , что вы - настоящий автор ваших коммитов, а не какой-то случайный хакер. Должен ли ты это делать или нет - это совсем другой вопрос.