如果修改 git 已提交的用户邮箱和用户名

栏目: 编程工具 · 发布时间: 5年前

内容简介:新建一个在

如果修改 git 已提交的用户邮箱和用户名

新建一个 shell 脚本 changeGitInfo.sh

#!/bin/sh

git filter-branch --env-filter '
an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"
if [ "$GIT_COMMITTER_EMAIL" = "这里写你原来的邮箱" ]
then
	cn="你想替换成的用户名"
	cm="你想替换成的邮箱"
fi
if [ "$GIT_AUTHOR_EMAIL" = "这里写你原来的邮箱" ]
then
	an="你想替换成的用户名"
	am="你想替换成的邮箱"
fi
	export GIT_AUTHOR_NAME="$an"
	export GIT_AUTHOR_EMAIL="$am"
	export GIT_COMMITTER_NAME="$cn"
	export GIT_COMMITTER_EMAIL="$cm"
'

git 仓库(项目)下运行一下,该脚本即可。

如果避免上面的问题?

分目录配置 git 用户信息

git 可以设置全局的用户信息,然后可以再单独为每个仓库设置用户信息。如果忘记了给项目重置用户信息,可能就会发生上面的问题 — 提交时的邮箱和用户名错了。:sweat:

如果你喜欢用不同的目录区分个人和公司的项目,可以使用下面的方法配置自己的 git 用户信息。:grinning:

比如,你把公司的项目都放在了 Company 目录下,个人的项目都放在了 Personal 目录下下面。

那你可以这么做:

Company 下新建一个 .gitconfig_include 文件,配置你想在该目录下给所有 git 仓库设置的用户信息。

[user]
  name = 用户名
  email = 邮箱

然后在 ~/.gitconfig 内添加

[includeIf "gitdir:~/Company/"]
  path = ~/Company/.gitconfig_include

:warning: 复制提醒。 Company 要替换成你自己的目录

这样,之后 Company 目录下的 git 仓库都会使用对应的 git 用户信息。:muscle:

这是 git 的一个用法,感兴趣的同学可以看这里 conditional includes


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First Rails

Head First Rails

David Griffiths / O'Reilly Media / 2008-12-30 / USD 49.99

Figure its about time that you hop on the Ruby on Rails bandwagon? You've heard that it'll increase your productivity exponentially, and allow you to created full fledged web applications with minimal......一起来看看 《Head First Rails》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具