本地git仓库迁移到远程git仓库

Posted SamDlex

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本地git仓库迁移到远程git仓库相关的知识,希望对你有一定的参考价值。


为了下文讨论方便,我们将要迁移的git仓库称为本地仓库,远程git仓库称为远程仓库。要求保留提交记录,下面是迁移的步骤。

1.创建空的远程仓库

1.1.在GitLab web页面创建

创建完成后,将得到git地址:http://10.69.12.11/android/hello.git

1.2.使用GitLab或GitHub提供的API创建

为了以最简单的方式使用API,我将在~/.bashrc配置文件中编写一段shell脚本来完成:

~$ vim ~/.bashrc

在.bashrc最后添加以下这个内容:

  • GitLab版本:
repo_create()
# 判断是否存在参数,有,则赋给repo_name变量,否则使用当前目录作为repo_name的值
if [ $1 ];then
repo_name=$1
else
repo_name=`basename $(pwd)`
echo "set Repo Name to $repo_name"
fi
# 使用GitLab Api创建远程仓库
# oExkVZEW2WKDcoF6mXdW是Personal access tokens,在gitlab web上创建
# name=$repo_name是指定仓库的名称
# namespace_id=12是group id可以在gitlab上查到
# http://10.69.12.11/api/v4/projects,则是GitLab服务器的地址,及api
curl -k --request POST --header "PRIVATE-TOKEN:oExkVZEW2WKDcoF6mXdW" --data "name=$repo_name&namespace_id=12" http://10.69.12.11/api/v4/projects
  • GitHub版本:
repo_create()
# 判断是否存在参数,有,则赋给repo_name变量,否则使用当前目录作为repo_name的值
if [ $1 ];then
repo_name=$1
else
repo_name=`basename $(pwd)`
echo "set Repo Name to $repo_name"
fi
# 使用GitHub Api创建远程仓库
# 8ad7a0e3faaa7574c4c1f38b5280c7d9ecf980ab是Personal access tokens,在GitHub上创建
# "name":"$repo_name"是指定仓库的名称
curl -u helloworld@sina.com:8ad7a0e3faaa7574c4c1f38b5280c7d9ecf980ab https://api.github.com/user/repos -d "name":"$repo_name"

执行source命令,使用配置文件生效:

~$ source

使用repo_create创建远程仓库:

~$ repo_create Hello

成功将创建后,会返回http://10.69.12.11/android/hello.git。
GitLab API参考​​​https://docs.gitlab.com/ce/api/​

2.删除本地仓库原先关联的远程仓库

~/local_project$ git remote rm

3.将本地仓库关联到新的远程仓库

~/local_project$ git

注意:如果没有进行第2点的操作,将会报如下错:

fatal: remote origin already exists.

4.将本地仓储的代码提交到待提交缓存中

~/local_project$ git add .

5.写备注(可选)

~/local_project$ git commit -m "迁移Local_project项目到远程hello仓库"

6.合并历史记录(当远程仓库创建并初始化后,即做了git init操作,就要进行这一步的操作,否则跳过)

6.1.指定要合并的分支

~/local_project$ git branch --set-upstream-to=origin/master master

注意:上面的意思是将本地master分支与远程的origin/master分支进行合并。

6.2.开始合并

~/local_project$ git

7.提交代码

将代码提交到远程仓库

~/local_project$ git

点击关注:

本地git仓库迁移到远程git仓库_git


以上是关于本地git仓库迁移到远程git仓库的主要内容,如果未能解决你的问题,请参考以下文章

关于git如何将老仓库中的分支迁移到新仓库中

git仓库迁移

git 远程仓库中拉取代码到本地

本地仓库关联远程仓库git操作

git能直接把本地仓库推送到远程仓库吗?

如何查看git远程仓库中的文件