本地项目代码上传到远端GitLab仓库
前言
情况一:
项目在本地从零开发,未commit或者pull过任何Git版本,需要将自己本地的项目上传到GitLab新建的项目中。
情况二:
项目是从远端clone到本地进行开发的,需要将该项目迁移到新建的GitLab项目中。
本文只针对第一种情况进行详细说明。
本文使用Git命令进行操作。
步骤
一、在GitLab上新建Git仓库
点击创建完成之后,生成空的项目仓库,如下图:
在界面的下部有命令行指令的说明:
至此, GitLab上的步骤告一段落。
二、建立本地Git仓库。
直接上代码:
1.初始化本地仓库,在cd 到本地项目的根目录,打开Git命令行,执行:
git init //初始化本地仓库
2 将本地项目的所有文件添加到暂存区。小数点“.”,意为添加文件夹下的所有文件:也可以将“.”换成具体的文件名,如果想添加项目中的指定文件,那就把“.”改为指定文件名即可。
git add . //将本地项目的所有文件添加到暂存区
3 将暂存区的文件提交到本地仓库,并添加说明信息:
git commit -m “说明信息” //双引号要去掉
至此,本地项目提交到本地仓库完成。
三、将本地仓库代码推送到GitLab远端仓库。
1 首先,建立本地仓库和远端GitLab仓库的关联关系:
git remote add origin http://gitlab**********************.git
在这一步时如果出现错误:fatal:remote origin already exists,先清理下关联关系:
git remote rm origin
再重新关联:
git remote add origin http://gitlab**********************.git
2 检查关联是否已建立且正确:
git remote -v
3 将代码由本地仓库上传到GitLab远端仓库,依次执行下列语句。
获取远程库与本地同步合并:
git pull --rebase origin master
如果远程库不为空,必须做这一步,否则后面的提交会失败,不加这句可能会报错,原因是GitLab中的README.md文件不在本地仓库中,可以通过该命令进行代码合并。
把当前分支master推送带远程:
git push -u origin master
执行完之后,如果无错误就表示上传成功了,需要提示的是这里的master是GitLab默认的分支,如果你本地的当前分支不是master,就用git checkout master命令切换到master分支,如果你想用本地当前分支上传代码,则把上面两条命令里的master切换成你的当前分支名即可。
如果推送不成功,先pull一下,如果fatal:refusing to merge unrelated histories, 说明本地和远端的git库是两个不相干的git库,然后本地要去推送到远端,远端觉得这个本地库跟自己不相干,所以告知无法合并,解决方法:强制合并
git pull origin master --allow-unrelated-histories
后面加上 --allow-unrelated-histories,意思是把两段不相干的分支进行强制合并。
然后再将代码推送到远端。
至此,操作成功。