一、修改遠程分支關聯
刪除遠程分支關聯
將指向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