根据不同环境来自动变更git的设置
从git的2.13版本开始,提供了
includeIf
字段来区分不同的git config文件
这样做的好处在于,可以区分个人项目和公司项目,配置不同的提交人信息
- 在home目录下建
.gitconfig
文件,代表全局配置的,这里面不要写user
的字段信息,这部分信息由其他文件提供 - 在其余目录生成个人或者公司项目的配置文件,可以随便取名
- 设置
includeIf
的字段信息,配置不同的文件
1 | # 主要的.gitconfig内容,具体路径的问题可以修改,指向不同的目录,path指向也可以指向不同目录下的文件,相对路径和绝对路径都可以 |
修改以前的提交信息
直接在需要修改的git库下执行即可,然后执行
git push --force
1 |
|
- 这里HEAD代表所有提交记录
gitlab的提交权限问题
以上修改完后,需要强行覆盖到远程分支上,这里需要注意的是,如果提交的分支是收到保护的分支,那么会报错
1 | remote: GitLab: You are not allowed to force push code to a protected branch on this project. |
- 可以在gitlab上把这个git库的分支受保护关掉
- 具体可以在gitlab上查看,repository->Branches->projects settings->Protected Branch->关闭当前分支