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
    
  • 相关阅读:
    用PHP判断oicq是否在线的小程序
    我的PHP树的代码,可以嵌套任意层
    用PEAR来写你的下一个php程序(潘凡Night Sailer)(1)
    php在线文本编辑器
    分析HTML,并将结果存到一个数组中。看看里面的注释吧。:)
    聊天室php
    基于文件、数据库的计数器
    hust The mell hell
    UVA 10003 Cutting Sticks(区间DP)
    zoj 3197 Google Book(最小区间覆盖)
  • 原文地址:https://www.cnblogs.com/laolieren/p/import_project_from_github_to_gitlab.html
Copyright © 2011-2022 走看看