06. git关联远程仓库

news2025/2/21 23:42:50

大家好,前面几节,我们用很长的篇幅介绍了git本地使用过程中的一些基本命令,本节开始,我们介绍通过远程仓库多人协作的时候,基本操作以及遇见的问题。
本节内容预告:
1、github 与gitlab简介
2、git本地连接远程的两种方式
3、git本地关联远程仓库

1.github 与 gitlab简介

我们前面学习git的时候都是自己一台电脑上操作,不管是创建分支还是合并分支代码,那么多人协作的时候怎么处理呢?这时候就需要一个“中介”来帮我们保存以及管理代码,github和gitlab承担的就是这样一个角色。两者之间的关系我在刚开始的时候有提到传送门
github作为一个全球范围的代码托管平台,内部孕育了很多优秀的项目,但是因为外网网速限制问题,以及私有代码托管要收费问题,国内大部分企业会选择在自己内部使用gitlab搭建一个自己企业内部的git私服用于代码管理。

我们后续学习,因为搭建私服比较麻烦,我们暂时通过github,来实现代码管理以及远程协作,顺便熟悉一下github上的一些操作,在git学习最后,我们会尝试自己手动搭建gitlab私服。

2.github简单使用以及关联远程两种方式

前面的章节我们或多或少提到过github,因为发现身边有一些同事工作好几年了,但是对github怎么用并不熟悉,所以专门注册了一个新账号,对github的使用简单说明。

  1. 正常用你的邮箱注册完就是这个界面
    在这里插入图片描述
  2. 然后你可以点击左上角的create new repository创建一个仓库,界面如下所示,为你的仓库命名,这边注意是public,也就是你提交的代码所有人都能看到,如果选择private是要收费的。
    在这里插入图片描述
  3. 创建完仓库有个仓库的初始化界面,这里会提示你可以本地创建一个新的仓库,然后关联这个远程仓库,也可以将本地已有的仓库关联到远程仓库,这样你的代码就可以提交到远程
    在这里插入图片描述
  4. 我们根据他提供的第一种方式创建一个新仓库,并关联这个远程仓库,这里要留意,如果选择ssh方式,也就是我们关联远程仓库的第一种方式的话,会有报错提示,提示你没有权限访问
    在这里插入图片描述
  5. 你需要本地生成公钥私钥,如果是linux系统的话,你可以通过简单的命令生成,如果是windows的话,可以通过一个叫putty的工具生成
    在这里插入图片描述
  6. 可以看到在.ssh目录下面的文件id_rsa.pub,就是我们需要的公钥,将这个公钥拷贝到git-》setting->deploy keys下面
    在这里插入图片描述
  7. 部署好公钥后,重新推送代码,会发现还是报错,只不过报错内容换了,提示我们部署上去的公钥是只读的
    在这里插入图片描述
  8. 删除git部署的公钥,重新部署,将权限改为允许写权限,如下
    在这里插入图片描述
    在这里插入图片描述
  9. 重新推送代码,发现代码推送成功
    在这里插入图片描述

还有一种是通过http的形式访问的,这种方式需要你每次提交都要输入用户,密码,来验证身份,通过这种方式有个坑是,通常我们会用中文输入法,因为http访问输入的密码是密文的,看不到具体内容,很容易因为输入中文的字符或者格式而出错!!!此时会提示你账号或者密码不对,但是你能在页面正常登陆。。。这时候就要留意是不是输入法的问题

3.git关联远程仓库

git 关联远程仓库常见有两种方式。

3.1 本地有代码,远程仓库是新建的

  1. git init 初始化本地仓库
git init
  1. git add 添加当前目录所有文件到本地git仓
git add .
  1. git commit 提交本地文件到本地git仓
git commit -m '初始化提交'
  1. git remote 命令关联远程仓库
git remote add origin  [url]
  1. git show remote 命令查看关联情况
git remote show origin

在这里插入图片描述
6. git push 推送到远程仓库

git push -u  origin master 

3.2 本地没代码,远程仓库有代码

  1. 直接通过克隆命令拷贝
git clone [url]
  1. 也可以下载文件包后再关联远程仓库类似,后续操作和3.1 一样,不推荐这样,自己给自己找事情

3.3 本地有代码,远程仓库有代码

此时涉及代码版本合并的问题,因为本地的代码和远程的代码可能完全冲突,而且本地代码没有被远程代码跟踪,此时只能先按照3.2 克隆远程仓库代码,然后手动一点点将本地的代码迁移到远程拉下来的代码工程里面。git没法智能的解决这个事情

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/527649.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软考高项】项目范围管理中的需求跟踪矩阵说明

文章目录 需求跟踪矩阵的创建角色步骤 需求跟踪矩阵变更角色步骤 需求跟踪矩阵是把产品需求从其来源连接到能满足需求的可交付成果的一种表格。使用需求跟踪矩阵,把每个需求与业务目标或项目目标联系起来,有助于确保每个需求都具有业务价值。 需求跟踪矩…

从零开始Vue3+Element Plus的后台管理系统(三)——按需自动引入组件和unplugin-vue-components

按需导入Element Plus遇到页面卡顿问题 本项目使用Element Plus的方式是按需自动导入 首先安装unplugin-vue-components 和 unplugin-auto-import这两款插件 npm install -D unplugin-vue-components unplugin-auto-import然后把下列代码插入到你的 Vite 配置文件中 Vite# …

Salesforce Experience Cloud_体验云顾问认证考试-备考攻略 (内含模拟练习题)

Salesforce Experience Cloud顾问认证专为具有Experiences应用程序实施和咨询经验的顾问设计的,适用于使用Experience平台的声明性自定义功能展示其在设计、配置、构建和实施Salesforce Experience应用程序方面的技能和知识的备考者。 备考者需要有6个月的Experien…

周赛345(模拟、分类讨论、DFS求完全联通分量)

文章目录 周赛345[2682. 找出转圈游戏输家](https://leetcode.cn/problems/find-the-losers-of-the-circular-game/)模拟 [2683. 相邻值的按位异或](https://leetcode.cn/problems/neighboring-bitwise-xor/)方法一:分类讨论(反向思考)方法二…

Android 调用TTS语音引擎过程及问题记录

Android 调用TTS引擎过程及问题记录 前言 背景是需要在华为平板上部署一个能够进行相关中文语音提示的APP,华为系统为鸿蒙3.0,对应Android API 12. Android 调用TTS引擎 调用TTS引擎之前,首先要确认自己的设备中是否安装了相关的文本转语音…

从《水浒传》看项目管理

水浒传和项目管理,这两个看似毫不相关的话题,其实有着惊人的相似之处。你没听错,就是水浒传!这个充满了江湖义气和刀光剑影的故事,竟然能给我们现代人提供一些关于项目管理的启示。别怀疑,跟我一起来看看吧…

nginx liunx最新版本安装flask部署

一、nginx安装 1.进入Nginx官网的资源下载页:http://nginx.org/en/download.html 2.下载nginx-1.22.1.tar.gz, 3解压: tar -zxvf nginx-1.22.1.tar.gz解压完成后会在当前目录下得到一个新的nginx文件夹 4.终端进入nginx文件夹目录&#x…

C++ -- AVL树插入实现和测试

文章目录 1. AVL树概念2. AVL树满足性质3. AVL节点结构4. 插入操作5. 检测6. 完整代码 1. AVL树概念 AVL树就是自平衡二叉查找树,为了解决二叉树退化为单链表,使得增删查改时间度为O(N),这里采用控制平衡策略达到效率是O(logN)。 2. AVL树满足…

Golang结构体入门

目录 结构体基础 结构体示例 为结构体定义方法 组合结构体 嵌套结构体 指针结构体 匿名字段 面向对象 封装 继承 多态 结构体基础 1.结构体是值类型:在Go语言中,结构体是一种值类型,与数组和基本数据类型一样。当结构体被赋值给一…

【MySQL】MySQL批量插入测试数据的几种方式

文章目录 前言一、表二、使用函数生成设置允许创建函数产生随机字符串产生随机数字 三、创建存储过程插入角色表插入用户表 四、执行存储过程小结五、使用 Navicat自带的数据生成 前言 在开发过程中我们不管是用来测试性能还是在生产环境中页面展示好看一点, 又或者学习验证某…

企业为什么要数字化转型?

数字化转型是使用数字技术从根本上改变企业运营方式并为客户创造价值的过程。企业进行数字化转型,常见因素包括: 提高效率:数字化转型可以简化流程并自动执行重复性任务,从而减少执行这些任务所需的时间和精力。可以节省成本并提高…

网页三剑客之 Javascript

JavaScript (简称 JS) 是世界上最流行的编程语言之一是一个脚本语言, 通过解释器运行主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端运行 其实,语言都是触类旁通的,我们学过了C语言和JavaSE,那么学起其他任何语言都不难&a…

CSS 中的常用属性(图文详解版)

CSS 中的常用属性 🔎引入方式🔎CSS 选择器🔎字体🔎文本🔎背景🔎圆角矩形🔎元素的显示模式🔎CSS 盒模型🔎弹性布局🔎结尾 CSS 中的属性有很多 本文列举了一些较…

Spark大数据处理讲课笔记4.4 Spark SQL数据源 - JSON数据集

文章目录 零、本讲学习目标一、读取JSON文件概述二、读取JSON文件案例演示(一)创建JSON文件并上传到HDFS(二)读取JSON文件,创建临时表,进行关联查询1、读取user.json文件,创建临时表t_user2、读…

Liunx下的进程信号

文章目录 前言1.信号初识前置知识2.信号产生的方式1.键盘产生信号2.系统调用产生信号3.软件条件产生的信号4.硬件异常 3.信号的保存4.信号的处理1.用户态和内核态2.用户态和内核态的切换方式3.内核中信号的捕捉流程4.volatile关键字 前言 本文主要是对Liunx中进程信息进行讲解…

Spark大数据处理讲课笔记4.5 Spark SQL数据源 - Hive表

文章目录 零、本讲学习目标一、Spark SQL支持读写Hive二、Spark配置hive-site.xml三、准备工作(一)启动Hive的metastore(二)启动Spark Shell 四、Spark读写Hive数据(一)导入SparkSession(二&…

Spark大数据处理讲课笔记4.8 Spark SQL典型案例

文章目录 零、本讲学习目标一、使用Spark SQL实现词频统计(一)数据源 - words.txt(二)创建Maven项目(三)添加依赖和构建插件(四)修改源目录名称(五)创建日志属…

Linux——线程2|线程控制

什么是线程 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”。 一切进程至少都有一个执行线程 线程在进程内部运行,本质是在进程地址空间内运行 在Linux系统中,在CPU…

基于Java+SpringBoot+vue+node.js的智能农场管理系统详细设计和实现

基于JavaSpringBootvuenode.js的智能农场管理系统详细设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码…

报表设计器Stimulsoft 2023.2提供深色主题和 Monoline 图标包

Stimulsoft Reports 是一款报告编写器,主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署,如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等,在你的应用程序中嵌入报告设计器…