2022/09/02 day02:连接远程仓库,推送、克隆

发布于:2022-12-30 ⋅ 阅读:(145) ⋅ 点赞:(0)

在GitHub上创建仓库

好多人开发一个工程,需要交换代码,一旦交换代码就需要一个远程仓库,这个远程仓库很容易获得:

  1. 使用一个网站,GitHub:它是一个非常有名的开源网站。使用GitHub:需要创建账号,界面全英文。
  2. 使用国内的一个网站:码云Gitee,https://gitee.com/
    二选一。

我们使用GitHub,它的知名度比码云高。

推送到远程仓库介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wYyN4OMY-1662194626053)(en-resource://database/5599:1)]

把本地仓库复制一份,保存到远程仓库

SSH协议:
SSH为Secure Shell(安全外壳协议)的缩写。是目前最为可靠的远程通信的主流协议
基于密钥的安全验证:使用SSH传输数据时,我们使用私钥对数据进行加密发送,别人使用公钥进行解密。私钥不可公开,公钥则是给其他人。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rMk4iVji-1662194626054)(en-resource://database/5601:1)]

  1. 使用SSH协议:比较麻烦:

使用SSH方式将本地仓库推送到远程

第一种:命令行推送方式:

  1. git remote add origin git@github.com:MrSiZhongChuan/repo1.git
  2. 分支重命名 git branch -m oldName newName
  3. git push -u origin main (执行失败,需要公钥)

获取公钥:在终端输入: ssh-keygen -t rsa -C “AndIMissU”。咱们的SSH key就存放在 /User/****/.ssh/id_rsa.pub目录下’

详情地址:https://blog.csdn.net/sugong2021/article/details/126611212

第二种:使用图形界面,乌龟:https://www.cnblogs.com/lwl80/p/13750125.html
https://www.cnblogs.com/lwl80/p/13749996.html

  1. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sHuKFNpD-1662194626054)(en-resource://database/5603:1)]
  2. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LedffAQ8-1662194626055)(en-resource://database/5605:1)]
  3. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fhq5k7fL-1662194626055)(en-resource://database/5607:1)]
  4. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6YLu4CfV-1662194626056)(en-resource://database/5609:1)]
  5. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lt73tdaX-1662194626056)(en-resource://database/5611:1)]

创建SSH密钥及在GitHub上配置公钥(这个步骤应该上移)

生成密钥的命令: ssh-keygen -t rsa

每一个单独的库,都要单独的生成一个密钥。

使用HTTPS方式将本地仓库推送到远程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x1TuXqQf-1662194626056)(en-resource://database/5615:1)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hy5gDqk3-1662194626057)(en-resource://database/5613:1)]
需要输入用户名和密码。

克隆远程仓库到本地

因为仓库是公开的,所以下载(克隆)是不用密钥的。如果是SSH方式,还是需要配置公钥和私钥

  1. 使用git bash(使用命令行克隆)方式(SSH)

    1. 在克隆的文件夹使用git bash
    2. 命令:git clone git@github.com:MrSiZhongChuan/repo1.git(复制的路径)
    3. 克隆的内容和服务器上的内容是一样的。
  2. 使用图形化工具克隆(HTTPS)

    1. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EHMrsFmw-1662194626057)(en-resource://database/5617:1)]
    2. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JQd2LXOe-1662194626058)(en-resource://database/5619:1)]
    3. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NlwkBYew-1662194626058)(en-resource://database/5621:1)]

    可以实现代码交换了

推送修改的文件及冲突解决

修改了那个文件,就把那个文件提交的远程仓库

  1. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nA9cm7Hf-1662194626058)(en-resource://database/5623:1)]
  2. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kv0befs1-1662194626059)(en-resource://database/5625:1)]

克隆的也要刷新一下:

  1. 选择同步
  2. 选择拉取[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8lHwz72m-1662194626059)(en-resource://database/5627:1)]

冲突解决:???
本地仓库不是最新的,不是在最新的基础上做修改,就不能推送到服务器,不能把服务器上修改的文件给覆盖掉。我们能做的就是从远端拉取(拉取到本地,出现冲突了–>此时需要进行手动合并)

                                                                                 ——此文档为学习笔记!

本文含有隐藏内容,请 开通VIP 后查看