为了可以让其他用户看到自己的成果,我们可以将自己本地仓库的内容上传到远程仓库;如果我们希望借鉴其他用户的成果,我们可以将远程仓库里的一些内容拉取或者克隆到本地仓库。
这里先暂不考虑 本地到远程 或者 远程到本地 的一些相关操作,我们只需要知道出发点是什么,重点是什么:
- 出发点:本地仓库,存在于每个用户主机上
- 终点:远程仓库,比如 github、gitee
目录
一、创建远程仓库
二、建立本地仓库和Gitee的连接
1、生成SSH公钥
2、Gitee 设置公钥
3、验证是否配置成功
三、查看远程仓库的相关命令
1、git remote(查看已经添加的远程仓库)
2、git branch -vv(查看本地分支和远程仓库的联系)
四、 操作远程仓库的命令
1、git remote add origin(远程仓库添加 / 移除)
2、git push(推送到远程仓库)
3、git clone(克隆仓库)
4、git fetch(抓取分支但不合并)
5、git pull(拉取分支同时合并)—— 常用
一、创建远程仓库
我们在Gitee上注册完毕以后,然后需要创建一个远程仓库
填入仓库名称以后直接点击创建即可
仓库建立完成以后,我们需要保存一下仓库的路径,后面操作远程仓库的时候要用到
二、建立本地仓库和Gitee的连接
无论是从远程仓库拉取代码,还是上传代码到远程仓库,前提都是建立本地仓库和Gitee的连接。
1、生成SSH公钥
输入如下指令生成公钥,一路回车即可(每一次生成公钥都会覆盖之前的)
ssh-keygen -t rsa
公钥信息保存在 ~/.ssh/id_rsa.pub 文件中,我们打印出来,下一步会用到
2、Gitee 设置公钥
以Gitee为例,登录用户,悬浮右上角用户头像,找到“账户设置”或者“设置”
安全设置 —— SSH公钥
将之前上面打印的内容复制到下面对应位置,公钥标题可以自拟
点击确定,输入Gitee的用户登录密码
3、验证是否配置成功
在命令行中输入如下内容,如果出现了验证成功,说明当前本地仓库和Gitee的连接已经建立成功。
三、查看远程仓库的相关命令
1、git remote(查看已经添加的远程仓库)
git remote
2、git branch -vv(查看本地分支和远程仓库的联系)
可以使用git push --set-upstream 命令让本地分支和远程仓库的某个分支建立联系,一旦建立联系,每次推送到远端时,就无需指明要推送到哪个远程仓库的哪个分支。
如果没有建立联系,就像下面这样(绿色表示Git当前所处分支)
如果已经建立了联系,就像下面这样,以后dev02分支如果要向远程 仓库origin的dev02分支推送内容,可以直接输入 git push 。
四、 操作远程仓库的命令
1、git remote add origin(远程仓库添加 / 移除)
添加远程仓库
其实就是在本地添加远程仓库的映射。可以在本地添加多个仓库映射,命令格式如下:
# <nickname>: 远程仓库在本地的别名,一般是origin
# <address>: 远程仓库的地址
git remote add <nickname> <address>
然后输入 git remote 查看远程仓库
移除远程仓库
# <nickname>: 远程仓库在本地的别名,一般是origin
git remote rm <nickname>
2、git push(推送到远程仓库)
git push 表示将本地仓库的内容上传到远程仓库。其实就是在告诉 Git,我要把本地仓库的哪个分支的内容推送到哪个远程仓库的哪个分支。命令格式如下:
git push [-f] [--set-upstream] [远程仓库的别名] [本地分支名][:远程仓库的分支名]
# 将本地仓库的master分支推给origin对应的远程仓库的master分支(默认和本地仓库的分支同名)
git push origin master
# 等价于上面的写法
git push origin master:master
- -f : 本地内容强制覆盖远端内容(一般不使用)
- --set-upstream : 推送到远端的同时,建立起和远端分支的关联关系,如果建立起关系,以后不必输入本地分支、远程仓库名、远程仓库分支,可以直接使用 git push 来推到远端;反过来说,在建立联系的时候,必须要有上面三个内容。
3、git clone(克隆仓库)
将远程仓库的内容拷贝到当前目录(既可以是ssh地址,也可以是https地址)
git clone 远程仓库的地址
首先要获取到地址
然后将远程仓库的全部内容保存到本地,git clone 不适合频繁使用,因为每次都是把一整个项目拷贝到本地,如果一个项目很大,要拷贝到本地,时间成本和空间成本都很高。
4、git fetch(抓取分支但不合并)
git fetch 将远程仓库中某个分支的更新抓取到本地,但不会进行合并。如果不指定远端名和分支名,则抓取所有分支。
5、git pull(拉取分支同时合并)—— 常用
git pull 将远程仓库中某个分支的更新拉取到本地,同时会进行合并。如果不指定远端名称和分支名,就抓取并更新当前分支。