我在不同的公共git主机(github、gitlab等)和公司git主机上有多个帐户。
问题是我总是忘记改变自己的身份:

git config --local user.email "[email protected]"
git config --local user.name "Name"

对于每个项目,我的默认全局配置(github帐户)进入我的公司提交,并在其他git主机上提交(甚至从github上的另一个帐户提交),这会造成一个真正的混乱。
git clone之后,是否有任何方便的方法来停止忘记指定帐户?

最佳答案

您可以取消设置全局配置,并始终在本地应用用户配置。当您忘记这样做时,您将收到一条警告消息,告诉您配置它。
您可以使用别名来帮助您(未经测试):

git config --global alias.personal '!git config --local user.email "[email protected]"; git config --local user.name "Name"'
git config --global alias.work '!git config --local user.email "[email protected]"; git config --local user.name "Name"'

所以你可以:
git clone [work project]
cd [work project]
git work

git clone [home project]
cd [home project]
git home

理想情况下,您可以使用别名更改git clone的内置行为,但这是不可能的。这里有一些解决方法:https://stackoverflow.com/a/24266749/3408,因此可以使用它将git clone更改为在克隆操作后提示您选择标识的脚本。

08-26 11:06