git - 如何停止忘记更改每个 git 项目的标识

标签 git

我在不同的公共(public) git 托管(github、gitlab 等)和公司 git 托管上有多个帐户。

问题是我经常忘记改变我的身份:

git config --local user.email "email@example.com"
git config --local user.name "Name"

对于每个项目和我的默认全局配置(github 帐户)进入我的公司提交并在其他 git 托管上提交(甚至从 github 上的另一个帐户提交)造成真正的困惑。

git clone后忘记指定账号有什么方便的方法吗?

最佳答案

您可以取消设置全局配置并始终在本地应用用户配置。如果您忘记这样做,您将收到一条警告消息,告诉您进行配置。

您可以创建别名来帮助您(未经测试):

git config --global alias.personal '!git config --local user.email "home@example.com"; git config --local user.name "Name"'
git config --global alias.work '!git config --local user.email "work@example.com"; 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 更改为提示您在克隆操作后选择身份的脚本。

关于git - 如何停止忘记更改每个 git 项目的标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57292423/

相关文章:

git - 如何让 git-diff 忽略所有空白更改但领先一个?

git - 程序化的 git 状态

git - 在 Visual Studio 2010 beta 2 中使用 Git

git - 我想将我的主分支恢复到 8 次提交前的状态

windows - Sublime Text 2、Windows、bash/cygwin 而不是 cmd

eclipse - 缩短 Eclipse git 工作流程

git - 使用git推送到存储库时权限被拒绝

git - 如何在jgit中编写show-ref命令?

git - 返回存储库中的特定修订后提交并推送更改?

git - "git status"是否实际检查上游 repo 是否与我的 repo 匹配?