【入门】git远程仓库Github

243 阅读4分钟

代码需要上传到云端,找GitHub来存储就对了

SSH key验证身份

原理:你的GitHub账号存着公钥,你的电脑存着私钥,上传的代码用私钥加密,GitHub用公钥解密,解开即配对成功;

如何生成ssh key

  1. 去GitHub帮助文档抄代码来运行,具体代码我也整理下来了,你可以直接复制:

    ssh-keygen -t rsa -b 4096 -C 你的邮箱
    

    注:运行这句话之后,会按三次回车,看到下图所示的内容即成功生成公钥和私钥;

  2. 如何查看公钥和私钥的生成位置?

    注:上图所示的地方是你公钥和私钥生成的地方,可以通过命令cd c/Users/lenovo/.ssh进入该目录,通过ls查看目录里面生成的公钥id_rsa.pub和私钥id_rsa,需要注意的是,不要给别人看你的私钥;

  3. 进入GitHub填入你的公钥:具体位置是:

    • 点击settings
    • 点击SSH and GPG keys
    • 点击New SSH key
    • Title里面输入你想表示的哪台电脑
    • key里面需要输入的是id_rsa.pub里面的内容(回到命令行运行cat c/Users/lenovo/.ssh/id_rsa.pub,将运行结果全部复制,粘贴到key里面即可)
  4. 测试配对是否成功:运行ssh -T git@github.com,中间需要输入yes,回车后看到Hi 某某名即为成功;

上传和下载代码

主要命令:git pullgit pushgit clone

上传代码

  1. 进GitHub,新建GitHub Repo(仓库),复制其ssh地址

    注:写完你的Repository name后,尽量不要随意更改下面的内容,直接点Create repository

    注:用的是ssh地址,不要点击http的地址;

  2. 复制页面里的代码(关掉翻译)

    注:上面一部分代码是在你没有本地仓库的状态下执行的,来帮助你创建一个本地仓库;如果已经有本地仓库了,只需要执行下面两行的代码即可;

  3. git remote add origin git@xxxxxx:在本地添加远程仓库地址git@xxxxxorigin是远程仓库的名字(可以换);

  4. git push -u origin master: 推送本地master分支到远程originmaster分支;

    注: -u origin master:记住此次推送的地址下次就照着这个样子来推,推到origin仓库的master分支上;之后就可以直接git pullgit push

    注:当你看到master->master即代表成功上传;

    注:每次git push仅仅是将本地的一个分支上传,上面代码就是演示的上传master分支;

    注:如果提示你应该git pull...,你就git pull一下,git pull是先把远程分支合并到本地对应的分支; 如果远程分支没有更新过,也就是你确定别人没有改动你的代码,就可以省略git pull

  5. 如何上传其他分支?

    • 方法一:先git branch x创建x分支,进入这个分支git checkout x,将你想要放入这个分支的东西git add 路径进去,再git commit一下,由于这是一个新的分支所以我们需要git push -u origin x说一下是上传到哪里;

    • 方法二:直接用git push origin x:x代替上面的两个命令git checkout xgit push -u origin x

说了这么多,其实,GitHub就是用来备份.git/而已

下载代码

只扔给你一个网址,你该如何下载代码?

  1. 如果是别人的代码,只能选择https://来下载;

  2. 如果是自己的代码,用ssh下载,步骤如下:

    • 复制你的ssh地址;
    • 进入你想要下载到的目录:cd 目录
    • 运行git clone git@xxxxx[目标路径ssh]即可将代码下载到指定的目录下;
    • 如果有两个分支,你需要先进入刚刚下载的目录里面,cd 下载的目录路径,只有这样你才能看到分支;
    • 切换到x分支:git checkout x

    注:每次clone克隆,其实可以下载下来所有的分支,你只需要进入目录,切换分支即可;

  3. 想要基于下载的代码进行编辑,然后继续上传到GitHub,可以直接四连连操作“git add 路径git commit -vgit pullgit push”;

    注:如果你能确认别人没有更改你的代码,你可以省略git pull过程;

一个机器一个key,所以如果你想在不同的机器下载你的代码,你需要上传新的ssh key,详细步骤,在上边哦!

备注问题:

  1. 如果你的git clone下载的很慢,推荐一篇方方的博客你可以进去试试。
  2. git clone拓展应用:
    • git clone git@?/xxx.git:在当前目录下创建一个xxx目录,xxx/.git是本地仓库,一般后边都会接一句cd xxx

    • git clone git@?/xxx.git yyy:在本地新建yyy目录,记得cd yyy

    • git clone git@?/xxx.git .:不会新创建目录,使用当前目录容纳代码和.git;

      注:当前目录最好是个空目录;