3.2 使用 Github.png

Github的作用就是将代码存储在云端

生成新 SSH 密钥

使用SSH Key验证

  1. # 下面一条命令用于生成ssh-key
  2. $ ssh-keygen -t rsa -b 4096 -C zhuye256@163.com
  3. # 秘钥的目录是`~/.ssh`

image.png

其中:

  • id_rsa: 私钥
  • id_rsa.pub: 公钥
  • 生成的ssh-key如下:

image.png

上传代码到Github

1. 新建仓库,复制其ssh地址

  • 仓库ssh地址:git@github.com:BarrryZhu/[仓库名].git

image.png

2. 在本地添加远程仓库地址

  1. $ git remote add origin git@github.com:BarrryZhu/[仓库名].git
  • 添加后,远程库的名字就是origin,这是Git默认的叫法
  • 如果想上传到两个远程仓库,那么可以将第二个origin更改为其他名字(repo2等)

3. 初次推送本地master分支到远程origin的master分支

  1. $ git push -u origin master
  • 如果提示应git pull,则pull一下
    git pull将远程分支合并到本地分支,如果远程分支没有更新过,则可以省略git pull
  • 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

4. 再次推送

  • 把本地master分支的最新修改推送至GitHub
  1. $ git push origin master

参考: 添加Github远程仓库并从本地仓库上传代码 - 廖雪峰

下载代码到本地

下载源代码

  1. $ git clone git@[仓库地址].git
  • 如果是不同机器,要上传新的ssh key(一机一Key)
  1. 使用cd [目标路径]进入目标路径
  2. 四连操作
  1. $ git add
  2. $ git ommit
  3. $ git pull # 可选
  4. $ git push

下载某个分支

  • 要下载某个分支,则先下载整个仓库,再git checkout [分支名]切换到分支

git clone的几种形式

  • 以原仓库名创建一个新目录并克隆至该目录

    1. # 以原仓库名创建一个新目录并克隆至该目录
    2. $ git clone git@github.com:BarrryZhu/[仓库名].git
  • 在当前目录中创建一个新目录为克隆目录,且目录名自定义

    1. $ git clone git@github.com:BarrryZhu/[仓库名].git yyy
    2. # 在当前目录中创建yyy目录为克隆目录
  • 使用当前目录(必须为否则后果自负)容纳代码和.git

    1. $ git clone git@[仓库地址]/xxx.git . # 以当前所在目录为克隆目录

参考: 从Github远程仓库克隆代码到本地仓库 - 廖雪峰

小结

  • 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
  • Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

部分资料来源:饥人谷 - 方方老师