git将远程仓库和本地仓库关联



几个月前因为和同学一起写项目的需要,开始接触git和码云。当时使用git连接码云的方式是:

1.在码云上建立一个仓库


2.将仓库clone到本地以实现两者的关联


3.将代码文件复制到本地仓库。


之后就能顺利进行push和pull等操作了。但我要上传的代码文件明明就在本地,结果为了上传我还得把他们复制一份到clone的仓库里,在这种情况下这一步就显得多余了。于是我尝试了下不进行clone操作直接将远程仓库添加到本地仓库中。操作总结如下:


1.在码云上创建一个仓库,复制他的url

2.在你需要上传的项目文件夹内打开git bash或者从控制台直接进入到项目文件夹内


3.在控制台内输入如下代码:


//初始化本地仓库
$ git init
//url为远程仓库地址,将远程仓库添加到本地仓库内,使两者关联
$ git remote add origin url 
//如果建立的远程仓库有readme等初始文件则需要进行此步操作
$ git pull origin master --allow-unrelated-histories 
//将所有文件内容添加到本地仓库的Stage中
$ git add .
//将stage中的的暂存文件提交到当前分支的本地仓库,并添加描述信息 first commit
$ git commit -m “first commit”
//将本地仓库的提交内容同步到远程仓库
$ git push -u origin master

进行以上步骤后就能顺利进行git pull和push之类的操作了

git的add、commit、push操作的含义可以参考下图

在远程仓库中搜索镜像 关联远程仓库_git


但在实际的操作中我发现了一个小问题:在执行git commit -m “描述内容”语句中,描述内容用单引号或双引号括起来都可以,但是用单引号括起来的情况下内容不能有空格,否则会报错

在远程仓库中搜索镜像 关联远程仓库_远程仓库_02


使用双引号则没用问题

在远程仓库中搜索镜像 关联远程仓库_git_03


下文我根据码云上Git 仓库基础操作教程通过vscode的控制台把项目上传到码云上的过程记录:

首先我在码云上创建了一个仓库

在远程仓库中搜索镜像 关联远程仓库_git_04


随后在vscode打开我的项目

由于终端处已经是我的项目位置了,就不用再cd进入项目路径了。

进行初始化操作git init

在远程仓库中搜索镜像 关联远程仓库_在远程仓库中搜索镜像_05


试试添加一个文件准备上传

$ Git add “tempclass/ReflectDemo.java”
$ Git status 
$ Git commit -m “first commit”

在远程仓库中搜索镜像 关联远程仓库_上传_06


然后我看码云上的教程耿直的git push 码云仓库地址

在远程仓库中搜索镜像 关联远程仓库_上传_07


结果出问题,按他的提示来,git push --set-upstream 码云仓库地址

在远程仓库中搜索镜像 关联远程仓库_码云_08


无效,几经查找后回到码云的仓库基础教程中找到了答案:

在远程仓库中搜索镜像 关联远程仓库_git_09


添加一个仓库

$ git remote add origin url //url为远程仓库地址

由于我创建的远程仓库初始化了readme等文件,所以在上传之前要先拉取一下

$ git pull origin master --allow-unrelated-histories

只有第一次拉取要加origin master --allow-unrelated-histories,之后直接使用 git pull 操作就可以了

在远程仓库中搜索镜像 关联远程仓库_远程仓库_10


把刚才提交的代码同步到远程仓库

$ git push -u origin master

在远程仓库中搜索镜像 关联远程仓库_在远程仓库中搜索镜像_11