项目提交到 GitLib 及问题解决

518 阅读2分钟

项目提交到 GitLib

GitLib 创建项目

  1. gitlab上点击new project按钮,新建一个项目 image.png

  2. 项目名称输入和你本地项目同样的名称 v2-d19554c591194e1f375a077c8e9408b4_r.png

  3. 点击 create project 按钮创建出该空白的项目 v2-3949d2e80aad337c89c38d326a13f0e8_r.jpg

初始化本地仓库并commit项目

本地项目目录下,Git Bash Here进入git命令窗口

  1. 初始化本地仓库
git init

image.png

  1. 将本地项目的所有文件添加到暂存区
git add .

image.png

  1. commit提交项目
git commit -m "初始化项目"

v2-20f3d6a830ff2160e5898bfc3b531d20_r.jpg

建立本地仓库和远程仓库关系并推送

  1. gitlab仓库拿到之前建的项目的地址,然后建立本地仓库和远端gitlab仓库关系
git remote add origin  https://gitlab.xx.com/xxxx.git

备注:如果在这一步时如果出现错误:fatal:remote origin already exists,需要先执行下面的命令清除关联关系,然后再进行上一步动作:

git remote rm origin

查看关联关系是否成功建立:

git remote -v

先拉取一下远程仓库内容:

git pull --rebase origin master
  1. 再推送本地内容到远程仓库

  1. 查看推送到GitLab的项目

v2-d021dfaf1d9bfd252217353e7c1186ea_r.png

推送出现的问题

事故现场

执行 git push origin master 推送到远程仓库时报错:

fatal: 'origin' does not appear to be a git repository

image.png

解决方法

使用 git remote -v 命令,什么都没有输出;
说明和远程已失去联系,这种情况可能是远程仓库已改名,或者是git remote add时操作没有将相关配置加上(或者有异常);
第一种可能可以排除,那就是第二种可能了。

和其他git项目对比 .git/config 文件,发现git仓库只有 [core] 节点,没有 [remote “origin”][branch “master”] 节点信息。

[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true

git push origin master 时,git需要去 config 中查找提交的分支信息,但是 config 是空的,所以返回上述错误。 解决方法就是把信息直接填上:

[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
[remote "origin"]
	url = http://192.168.1.183/git/RCTools.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
	remote = origin
	merge = refs/heads/master