zoukankan      html  css  js  c++  java
  • 如何将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
    
  • 相关阅读:
    golang 带参数 发送、上传本地文件到其他机器、服务器
    【比赛游记】北大集训2020垫底记
    【比赛游记】NOIP2020又当工具人记
    AtCoder Regular Contest 107
    AtCoder Regular Contest 108
    【比赛游记】CSP2020游记
    注意事项
    2020北大集训摸鱼记
    NOIP2020游记
    ARC109F
  • 原文地址:https://www.cnblogs.com/laolieren/p/import_project_from_github_to_gitlab.html
Copyright © 2011-2022 走看看