• 【Git】GitHub 操作




    GitHub 操作

    GitHub 网址:https://github.com/

    一、创建远程仓库

    首先登录到自己的github账号上,在首页右上角 + 的下拉菜单中选择第一个New repository:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4uIWzIIe-1659008362653)(https://test1.jsdelivr.net/gh/Code-for-dream/Blogimages/img/Git/image-20220728085918161.png)]

    image-20220728085857680

    一般我们的远程库名称和本地库保持一致,所以我们远程库就命名为git-demo,然后添加库的描述,选择库为公共仓库,最后确认创建:

    在这里插入图片描述

    创建完成后,会有提示信息,如下图即可:

    在这里插入图片描述

    返回顶部


    二、创建远程库别名

    首先我们,在提示信息中复制仓库的地址链接(http:https://github.com/Code-for-dream/git-demo.git):

    在这里插入图片描述

    此操作是先初始化本地库,然后与已创建的远程库进行对接

    • 命令: git remote add <远端名称> <仓库路径>
    • 远端名称,默认是origin,取决于远端服务器设置
    • 仓库路径,从远端服务器获取的仓库URL

    其实这里起别名更确切的说是创建本地库和远程库的连接,使用命令git remote -v可以查看当前本地库的连接。

    在这里插入图片描述

    • fetch 用于拉取远程库
    • push 用于推送本地库

    返回顶部


    三、推送本地分支到远程库

    命令:git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]

    • 如果远程分支名和本地分支名称相同,则可以只写本地分支

      • git push origin master
    • -f 表示强制覆盖

    • --set-upstream 表示推送到远端的同时并且建立起和远端分支的关联关系。

      • git push --set-upstream origin master
    • 如果当前分支已经和远端分支关联,则可以省略分支名和远端名。

      • git pushmaster分支推送到已关联的远端分支。

    首次推送需要认证,界面如下:

    在这里插入图片描述

    可以使用浏览器的账号或者使用Token,这里我们直接选择浏览器账号即可:

    image-20220728094403385

    进一步确认密码,直接输入密码:

    在这里插入图片描述

    创建连接后,又报错,说主机上的程序关闭了连接,并弹出了窗口,试着填写信息:

    在这里插入图片描述

    最后还是报错,一看发现密码认证方式失效了,然后使用Token认证参见博客:Git报错token认证)就可以了:

    在这里插入图片描述

    查看远程仓库中,已经存在hello.txt文件,说明推送成功!

    image-20220728101331757

    返回顶部


    四、拉取远程库到本地库

    拉取 命令:git pull [remote name] [branch name]

    • 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge

    • 如果不指定远端名称和分支名,则抓取所有并更新当前分支。

    在这里插入图片描述

    可以看到在网页端我们也可以查看库中的文件内容,如果点击右侧笔,还可以进行编辑,并且最后还可以进行提交:

    image-20220728103720051

    默认master分支提交后,可以发现内容已经发生改变:

    在这里插入图片描述

    **此时,我们需要在本地拉取到刚刚网页上修改好的文件: **
    image-20220728104436683

    可以看到本地库的文件内容已经发生了改变:

    image-20220728104454350

    并且查看git日志的时候,可以查到网页的提交信息:

    image-20220728104806249

    返回顶部


    五、克隆远程仓库到本地

    如果已经有一个远端仓库,我们可以直接clone到本地。

    • 命令: git clone <仓库路径> [本地目录]

    • 本地目录可以省略,会自动生成一个目录

    我们在本地创建一个新的空文件夹,用于存放克隆下来的远程仓库:

    image-20220728105935452

    复制我们的远程仓库的网页链接地址:
    在这里插入图片描述

    在当前目录下打开git,使用git命令进行克隆:

    image-20220728110936095

    完成后,在git-clone目录下就会生成git-demo目录及其内容:

    在这里插入图片描述

    并且clone操作会做如下操作;

    1. 拉取代码

    2. 初始化本地仓库(.git)

    3. 创建别名

    image-20220728111243370

    返回顶部


    六、SSH免密登陆

    可以看到,在我们获取仓库地址的时候除了https地址外,还有一个SSH链接地址,同样可以使用,在配置了SSH之后,我们接下来再往远程仓库 push 东西的时候使用 SSH 连接就不需要登录了。

    在这里插入图片描述

    配置SSH很简单,来到我们当前的电脑用户目录下,打开git bash,执行命令 ssh-keygen -t rsa -C github用户邮箱,然后回车三次,就可以生成非对称秘钥对:

    image-20220728180045008

    在用户目录下生成的.ssh文件夹中打开.pub公钥文件,并且复制全部内容:

    image-20220728180218249

    githubsetting里找到SSH and GPG keys

    在这里插入图片描述

    点击New SSH key

    image-20220728192004476

    将公钥文件中的内容全部复制进去,名称随便起:

    image-20220728192141394

    SSH配置完成:

    image-20220728192331025

    我们在git上面新创建文件git.txt,然后复制仓库的SSH地址,在本地进行拉取查看文件内容:

    在这里插入图片描述

    可以看到,首次使用SSH需要我们确认一次,然后找到拉取的git.txt,获取内容:

    在这里插入图片描述
    image-20220728193428944

    同样的,在我们克隆的仓库里,拉取时不用再确认和认证:

    在这里插入图片描述

    返回顶部


  • 相关阅读:
    BAT 脚本转 EXE 工具
    扬帆志远:怎么防止shopee被判断店群关联状态?
    秋招面经第一弹:百度一面-大数据开发工程师
    EM@常用三角函数图象性质(中学部分)
    二进制、八进制、十进制、十六进制之间的转换
    美团面试拷打:ConcurrentHashMap 为何不能插入 null?HashMap 为何可以?
    SSM - Springboot - MyBatis-Plus 全栈体系(十四)
    java之CSV数据的入库
    JVM垃圾回收
    从面试官角度分析:面试功能测试工程师主要考察哪些能力?
  • 原文地址:https://blog.csdn.net/qq_45797116/article/details/126042359