当前位置: 首页 > news >正文

Git版本管理系列:(三)远程仓库

目录

  • 与远程仓库平台(github\gitee等)建立连接
  • 本地仓库关联远程仓库
  • 本地仓库内容推送远程仓库:PUSH
  • 将远程仓库的更新拉取到本地:PULL
  • 语法总结

与远程仓库平台(github\gitee等)建立连接

 远程仓库平台相当于一个网盘,我们可以把自己的代码上传上去。就像网盘要登录一样,我们需要使用ssh密钥将我们的主机与远程仓库平台连接起来。

  1. 确保主机上安装了ssh服务(一般默认就有)
  2. 在主机上生成SSH密钥对。
    在本地主机上输入ssh-keygen -t rsa -C "myname@email.com",后面的-C 邮件地址其实相当于生成的这个密钥的别名,如果一台机子上有很多ssh密钥的话设置不同别名可以方便区分,但其实没啥用处。执行了这个操作后,在.ssh文件夹下可以找到id_rsaid_rsa.pub前者叫私钥,后者叫公钥。我们将公钥保存到github平台,私钥保留在本地。登录时,服务器用公钥验证客户端提供的签名(由私钥生成),验证通过即可登录。这就是用ssh密钥代替用户名密码进行登录的原理。
  3. 复制id_rsa.pub的内容,在github的setting的SSH and GPG keys栏目添加密钥。
    在这里插入图片描述
     为密钥设置一个名字,方便和其它的主机区分开。
  4. 测试连接状态
    ssh -T git@github.com出现下面的输出即为绑定成功!
    在这里插入图片描述

本地仓库关联远程仓库

  1. 本地先创建仓库,并提交(参考系列第一篇)。
  2. 在github上创建一个自己的仓库
    在这里插入图片描述
    填写上面的内容,创建一个空仓库:
    在这里插入图片描述
  3. 将本地仓库与空仓库关联起来:
     如上图所示的提示,关联方法有两个:第一种,在本地创建新仓库再上传到远程仓库(我们在做的),第二种就是将已有的仓库关联到这个空仓库。
     在本地仓库的git bash中输入git add remote <仓库别名,默认origin> <仓库的ssh地址>,这样就将本地仓库和远程仓库进行关联了。

本地仓库内容推送远程仓库:PUSH

 主要使用git push <仓库别名,默认origin> <要推送的分支名>,这个语法很清晰,可以省略要推送的分支名,这将默认推送当前所在分支的最新提交。
 也可以使用git push -u <仓库别名,默认origin> <要推送的分支名>加了一个-u参数,以后push操作将默认推送分支到origin仓库,即此后的推送简化为git push即可。

将远程仓库的更新拉取到本地:PULL

 这里主要说的是pull操作,与git clone不同(git clone是将远程仓库完整地下载下来,pull是拉取某个分支的内容),语法为git pull <远程仓库名,默认origin> <要拉取的分支>:<与本地合并的分支>如果当前的分支就是要合并的分支,那么:<与本地合并的分支>可以省略。
 一般在多人协作的项目中,你负责开发一个分支,那么就可以使用pull命令将远程仓库的对应分支拉取到本地进行开发,开发完成之后再push这个分支到远程仓库中去。

语法总结

1. ssh-keygen -t rsa -C "xxxx" #创建ssh密钥对‘
2. ssh -T git@github.com #测试连接
3. git add remote <仓库别名,默认origin> <仓库ssh地址> #将本地仓库与远程仓库关联
4. git push <仓库别名,默认origin> <上传的分支名>  #推送分支到远程仓库
5. git push -u <仓库别名,默认origin> <上传的分支名> 
6. git push
7. git pull <仓库别名,默认origin> <拉取的分支名>:<计划合并的本地分支名>#拉取远程仓库的分支与本地分支合并 

相关文章:

  • vxe-table4.6 + vue3.2 + ant-design-vue 3.x 实现对列的显示、隐藏、排序
  • MYSQL-创建和使用表
  • Higress: 阿里巴巴高性能云原生API网关详解
  • 分享:批量识别图片文字并重命名,根据图片文字内容对图片批量重命名,Python和Tesseract OCR的完成方案
  • 阿里云负载均衡可以抗ddos吗
  • Qt零散知识点
  • Node.js 中处理 Excel 文件的最佳实践
  • SpringBoot中3种优雅停机的实现方式
  • 基于 Qt 的图片处理工具开发(一):拖拽加载与基础图像处理功能实现
  • HTML 嵌入标签对比:小众(<embed>、<object>) 与 <iframe> 的优缺点及使用场景和方式
  • Hierarchical Reinforcement Learning for Course Recommendation in MOOCs论文阅读
  • leetcode 74. 搜索二维矩阵
  • Java从入门到“放弃”(精通)之旅——启航①
  • Ubuntu远程连接Mysql数据库(图文详解)
  • HashMap为什么扩容为原来2倍呢?
  • 栈和队列详细讲解
  • HDCP(五)
  • 【进程通信】 Linux下使用共享内存实现跨进程通信:基于C++的完整示例
  • rancher 采用ingerss ssl 部署nginx+php项目
  • c# 使用NPOI将datatable的数据导出到excel
  • 高明网站设计多少钱/线上seo关键词优化软件工具
  • 四川建设网站/阿里云万网域名注册
  • 宝塔如何添加ip域名做网站/西安做网站的网络公司
  • 北京网站建设哪家便宜/成人短期技能培训学校
  • 网站开发工程师工作内容/seo学习
  • ps 做儿童摄影网站首页/经典软文案例和扶贫农产品软文