У меня есть два аккаунта на GitHub. Один для работы, другой для личных нужд.
В настоящее время я работаю над личным проектом, но весь код, который я пишу в PyCharm, имеет рабочее имя учетной записи как автор кода.
Я некоторое время искал эту тему, но все еще не понимаю, является ли этот индикатор функцией, связанной с PyCharm или Git.
Что я наделал:
git config
и git config --global
.Но пока ничего не работает. В коммитах есть сочетание имени обеих учетных записей. Но последние несколько дней коммиты применялись только с рабочего аккаунта. Я что-то упускаю?
Документация PyCharm «Зафиксировать и отправить изменения в репозиторий Git» подтверждает, что PyCharm установит имя/адрес электронной почты автора из настроек git config user.anem/email
.
В вашем случае, чтобы быть в безопасности, настройте информацию об авторстве в самом локальном репозитории:
cd /path/to/repo
git config user.name PersonalAccountName
git config user.email [email protected]
Но другой подход заключается в использовании только глобальной конфигурации Git, но с использованием директивы includeIf , как в ответе blami.
[user]
name = PersonalAccountName
email = [email protected]
[includeIf "gitdir:~/repos/work"]
path = ~/repos/work/.gitconfig
Таким образом, любой репозиторий под ~/repos/work
будет включать в себя глобальную конфигурацию ~/repos/work/.gitconfig
, которая установит авторство вашей работы.
Это справедливо для любого нового коммита, который вы создадите.
Для прошлых коммитов (уже созданных) см. Как сменить учетную запись GitHub и задним числом обновить историю коммитов? например, используя git filter-repo (с картой mailmap) или git filter-repo --commit-callback.
Спасибо за хороший совет. После внесения изменений, которые Вы посоветовали, ничего не изменилось. Но похоже, что GIT (или PyCharm) требует сначала закрыть фиксацию, чтобы применить изменения.
@Antony_K Это действительно для новых коммитов. Чтобы изменить авторство прошлых коммитов, см. мой прошлый ответ. Я отредактировал ответ соответственно.
Наконец, решение, по-видимому, заключается в фиксации изменений до внесения каких-либо изменений в имя пользователя/электронную почту. Я могу ошибаться, но в моем случае, когда я зафиксировал все изменения и внес новые записи в проект, имя автора кода изменилось в PyCharm. Не уверен, что это обычное поведение для GIT (или PyCharm), но в моем случае это решает проблему.
Сначала попробуйте Pycharm. Что оно делает? Это должно зависеть от ваших настроек git (обратите внимание, что вы можете иметь другое имя пользователя/электронную почту в разных папках, если хотите). Тогда, если он работает с чистым git, что-то не так с Pycharm.