一、修改远程分支关联
删除远程分支关联
将指向github的远程分支关联关系删除
git remote rm origin
添加新的远程分支关联
新的remote地址指向gitlab相应地址
git remote add origin <项目gitlab上的SSH地址>
修改后可以使用以下命令查看修改是否生效
- # 查看远程分支关联
- git remote -v
二、修改提交用户名
如果github与gitlab所用用户名和邮箱不一样,可以这么做
修改gitlab所用用户名
- git config user.name <gitlab用户名>
- git config user.email <gitlab用户邮箱>
修改项目过往提交记录的用户名
如果希望git的log中的用户名也发生替换,可以这么做
在项目根目录下创建 email.sh 写入下面这段代码
- #!/bin/sh
-
- git filter-branch --env-filter '
- OLD_EMAIL="<github用户邮箱>"
- CORRECT_NAME="<gitlab用户名>"
- CORRECT_EMAIL="<gitlab用户邮箱>"
-
- if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
- then
- export GIT_COMMITTER_NAME="$CORRECT_NAME"
- export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
- fi
- if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
- then
- export GIT_AUTHOR_NAME="$CORRECT_NAME"
- export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
- fi
- ' --tag-name-filter cat -- --branches --tags
创建后记得执行以下命令,让脚本可运行。并提交所有未提交内容,或者stash掉。
chmod 755 email.sh
运行脚本
./email.sh
三、push内容至gitlab
- 1、推荐使用新分支(gitlab项目不存在同名分支)提交至gitlab,比如
git push --set-upstream origin <新分支名称>
- 2、或者,如果想要强制提交,且远程存在相应的分支,可以选择
git push origin --force --all