远程仓库

git 既允许你在本地进行版本管理,也允许你在一些仓库托管平台管理你的仓库,这样一来你就可以让远程仓库和本地仓库同步!

远程仓库的既可以让我们备份项目文件,也可以让其他人通过该仓库来实现协作

创建一个远程仓库

New Repo
image

成功创建仓库后,github 会提示你有三个选项:

  1. 在本地创建一个 新的 repo 把它与这个远程仓库关联起来
  2. 把本地已经存在的仓库和这个远程仓库关联起来
  3. 直接导入代码到这个远程仓库
Next
image

本地仓库关联远程仓库

可以发现,前两个选项都需要输同一条指令:

git remote add origin https://github.com/username/reponame.git

# git remote add origin git@github.com:username.reponame.git

它的作用就是把本地仓库与远程仓库关联起来,其中origin 是远程库的名字

WARNING

origin 是可以改的,但是为了规范并不建议更改

推送文件到远程仓库

到达这一步前请确认一下你是否在本地已经存在了版本库,并把它与远程仓库关联起来了

git push -u origin master

# 把本地的master分支推送到远程仓库的master分支
# -u参数是第一次推送时使用作用是把 origin/master 分支 和本地master 关联,这样一来,以后推送仓库就可以简化命令

大功告成, 我们已经有自己的远程仓库了!

TIP

除了使用 https 协议认证,还可以使用 ssh 的密钥来认证。

  • https 每次推送都需要输入帐号和密码认证
  • ssh 只需要把本地生成的 rsa 公钥存入托管网站,以后每次提交都无需登录

听说 ssh 认证的方式传输速度比 https 快,可以自行学习使用

删除远程库

如果添加的时候地址写错了,或者就是想删除远程库,可以用git remote rm <name>命令。使用前,建议先用git remote -v查看远程库信息:

git remote -v

git remote rm <name>
# 比如 git remote rm origin

TIP

也可以直接使用 git remote set-url origin <url> 更改

克隆一个远程仓库

实际上这个部分的内容才是最常用的功能,毕竟互联网上有非常非常多优秀且开源的项目可以供我们学习、使用

选择一个合适的位置,打开终端

git clone https://github.com/username/reponame.git
# git clone git@github.com:username/reponame.git


# Cloning into 'gitskills'...
# remote: Counting objects: 3, done.
# remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3
# Receiving objects: 100% (3/3), done.

这样整个项目的文件都被下载了

TIP

如果你没有这个仓库的权限,那么你是无法 push 的, 如果你想修改这个分支的文件,需要先 fork ,改完后再 pr,等 owenr 同意,这个过程其实就是 git 多人协作开发的主要方式