如何将github项目上传至gitlab

一、修改远程分支关联

删除远程分支关联

将指向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
原文地址:https://www.cnblogs.com/laolieren/p/import_project_from_github_to_gitlab.html