Git(四) —— 将关联本地仓库和远程仓库

0<—1还是1—>0?

关联仓库有两种方式,一种是将项目先上传到Git远程仓库,然后本地新建一个空的git文件夹进行拉取,即0<—1的方式。另外一种是先将本地项目目录转成git本地仓库,再将本地库和远程仓库关联起来,然后将本地项目代码推送到远程,即1—>0的方式。
因为项目最开始总是在本地进行开发,远程是空的,所以对于git仓库的初始化采用第一种比较合适。

GitHub上创建一个空的Repository

注意,要是完全空的,连REAMME.MD都没有的空库。
之后该怎么干呢,其实github已经提示了:
在这里插入图片描述
注意,这是新建一个完全空的仓库才会有的提示,现在,动手吧。

本地新建一个git库

到本地项目目录下,使用git初始化命令:

git init

这里为了模拟,创建一个只有一个文件的文件夹作为项目文件:

在这里插入图片描述
只有一个文件:
在这里插入图片描述
进行初始化:
在这里插入图片描述
这就已经成功地将此文件夹变为了一个git本地库,但是注意,此时文件夹里的所有文件/夹都还是在Working区(回忆一下Git(一)的内容),这可以通过git branch和git status得到验证:
在这里插入图片描述
可以看到,git branch -a没有任何内容,git status告诉我们,的确是在master分支下,但是目前没有任何提交(No commits yet),但是工作区有个test.txt文件没有跟踪(untracked files),建议使用git add进行跟踪。
很清晰,那么我们进行跟踪(add)和提交(commit):
在这里插入图片描述
可以看到,commit完了之后,git branch -a才出现了分支。虽然之前git status提示我们的确是在master分支下。

同远程空库进行关联

先到GitHub的repository下拿到clone路径:
在这里插入图片描述

https://github.com/ProLayman09/linkLocalRemote.git

接下来在本地项目目录下使用下面命令

git remote add origin #yourURL

yourURL就是刚才拿到的clone路径,实操:
在这里插入图片描述
注意

git remote add origin #yourURL

只是将二者关联,远程库仍然没有创建新分支。
这一点可以从git branch -a没有添加任何新分支得到验证。
接下来:

git push -u origin master

在远程仓库(默认名字为origin,千万不要自己瞎改)创建一个master分支,并将本地当前分支(master)下的repository区的内容(本例中其实就一个test.txt文件)推送到远程刚创建的master分支下,而**-u**的作用是:将本地当前分支(master)和远程刚创建的这个分支(master)关联起来,以后的pull,push都默认是这两个分支之间的操作。
参考:添加远程库
实操结果:
在这里插入图片描述
去看看远程仓库:
在这里插入图片描述
有了test.txt文件。
成功!

0<—1方式

直接clone一个不为空的远程仓库又该怎么呢?
先在GitHub上创建一个不为空的Repository(带README.MD),并使用upload功能上传一个文件:
在这里插入图片描述
Upload files:
在这里插入图片描述
结果:
在这里插入图片描述

本地新建一个文件夹:
在这里插入图片描述
为了理解,专门加一个文件:
在这里插入图片描述
初始化:
在这里插入图片描述
直接拉取:

git clone https://github.com/ProLayman09/testRemote2Local.git

在这里插入图片描述
看下本地文件夹:
在这里插入图片描述
跟想象中的不一样。。。既然没有用到创建的localNotEmpty文件夹直接拉取文件,而是单独创建一个文件目录,这一点我们用git branch -a也能看到:
在这里插入图片描述
而进入testRemote2Local目录下进行git branch -a
在这里插入图片描述
这提示我们,不用创建上面本地库,直接在想要的路径下,git clone即可,所以上述的过程可以简化为:在桌面(假设我们就想放在桌面上)进行git clone:
在这里插入图片描述
(因为mac下直接在桌面打不开终端,只能迂回:finder——我的电脑(whu)——桌面——双指击——新建位于xxx):
在这里插入图片描述
看下本地桌面的文件夹:
在这里插入图片描述

在这里插入图片描述

搞定!!!

所以0<—1的方法很简单:新建远程仓库——upload files——本地在想要的路径下直接git clone。

总结

其实就是github新建空repository的提示:
在这里插入图片描述

1 —> 0 方式:
  • 远程新建一个完全空的repository
  • 本地git init:将一个文件夹初始化为git本地库
  • git addgit commit将文件夹中内容(working区)推送到repository区
  • git remote add origin #yourURL
  • git push -u origin master
0 —> 1 方式:
  • 选好想要放的位置
  • 打开终端
  • git clone #yourURL // 拉取
  • git push -u origin master // 关联

直接拉取

注意,上面说的两种方式都应用于:远程仓库还没有于任何本地仓库关联起来,如果已经关联起来,例如现在只是想拉取一个远程仓库(已经同其他本地库关联过了)内容,则只需要最简单的:
git clone #yourURL

发布了149 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ProLayman/article/details/103737489