Git学习笔记(四)远程仓库

根据前面几篇文章的介绍,在本地使用Git基本不成问题了,常用的基本命令和一些基本概念基本也介绍完毕了。这一张主要讲讲远程仓库的创建和使用。

概念

 其实在前面第一篇文章中,我们就简单介绍过远程仓库,它其实就是一个托管在远程服务器上,并在多个团队成员之间共享的存储库,功能上和我们本地仓库没什么太大的区别。

它的主要功能就是在多人协作开发的时候,给我们提供一个云端共享的仓库,大家可以把自己修改的内容提交到云端进行同步,能够很好的控制开发进度,整合开发的模块等等。

创建远程仓库

前面我们已经知道了Git中存在两种类型的仓库,即本地仓库远程仓库。那么我们如何搭建Git远程仓库呢?

我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。

gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名gitHub

码云(地址: https://gitee.com/)是国内的一个代码托管平台,由于服务器在国内,所以相比于 GitHub,码云速度会更快

GitLab (地址:https://about.gitlab.com/)是一个用于仓库管理系统的开源项目,使用Git作 为代码管理工具,并在此基础上搭建起来的web服务,一般用于在企业、学校等内部网络搭建git私服。

这里我们就用码云举例:

  1. 注册码云(这个我就不演示了,相信大家都能够完成的,这里附上注册地址:https://gitee.com/signup )
  2. 创建远程仓库,如下图所示:


  3. 配置公钥:在创建好远程仓库之后,为了防止别人也能连接到我们的远程仓库,我们需要配置SSH公钥,通过公钥来验证连接者的身份。
    1. 在本地生成一个公钥

      这里我选择将公钥保存在本地库的目录下。

    2. 打开git账户配置,将生成的公钥贴进去。

      输入密码确认,注意这个是你注册码云账号时设置的密码,不是公钥!!!
    3. 验证是否添加成功,在本地输入命令ssh -T git@gitee.com
  4. 连接远程仓库:在所有的配置都准备就绪之后,我们需要将本地仓库与远程仓库进行连接绑定,这样才能够让本地仓库和远程仓库之间进行提交和拉取操作。
    命令: git remote add <远端名称> <仓库路径>
    这里的远端名称自己取,一般叫origin,仓库路径就是在前面让你们创建仓库时候记住的那个地址。(注意一定要选SSH)

经过这些步骤,我们一个远程仓库就相当于创建并连接好了,下面我们来介绍以下远程仓库中一些常用的基本操作。

远程仓库的常用操作

其实在开发过程中,远程仓库相关的操作常用的就五个:clone/push/pull/fetch/merge

  • 命令:git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]
    • 如果远程分支名和本地分支名称相同,则可以只写本地分支
      • git push origin master
    • -f 表示强制覆盖
    • --set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。
      • git push --set-upstream origin master
    • 如果当前分支已经和远端分支关联,则可以省略分支名和远端名。
      • git push 将master分支推送到已关联的远端分支。
      • 查看关联关系我们可以使用 git branch -vv 命令



下次推送本地master到origin的master,直接git push就可以了

  • 命令: git clone <仓库l路径> [本地目录]
    • 本地目录可以省略,会自动生成一个目录
  • 抓取 命令:git fetch [remote name] [branch name]
    • 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
    • 如果不指定远端名称和分支名,则抓取所有分支。
  • 拉取 命令:git pull [remote name] [branch name]
    • 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
    • 如果不指定远端名称和分支名,则抓取所有并更新当前分支。

在一段时间,A、B用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。 A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要 推送到远程仓库,此时B用户晚于A用户,故需要先拉取远程仓库的提交,经过合并后才能推送到远端分支,如下图所示。

在B用户拉取代码时,因为A、B用户同一段时间修改了同一个文件的相同位置代码,故会发生合并冲突。 远程分支也是分支,所以合并时冲突的解决方式也和解决本地分支冲突相同相同。

以上就是Git远程仓库相关内容,后续会更新如何在IDEA中是Git。

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

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

相关文章

yolo-驾驶行为监测:驾驶分心检测-抽烟打电话检测

在现代交通环境中&#xff0c;随着汽车技术的不断进步和智能驾驶辅助系统的普及&#xff0c;驾驶安全成为了公众关注的焦点之一 。 分心驾驶&#xff0c;尤其是抽烟、打电话等行为&#xff0c;是导致交通事故频发的重要因素。为了解决这一问题&#xff0c;研究人员和工程师们…

19-ESP32-S3外设IIC

ESP32-S3的IIC 引言 ESP32-S3是一款集成了Wi-Fi和蓝牙功能的低成本、多功能微控制器。在这篇博客中&#xff0c;我们将详细介绍ESP32-S3的IIC&#xff08;Inter-Integrated Circuit&#xff09;接口&#xff0c;也被称为I2C。 IIC简介 IIC是一种串行、同步、多设备、半双工…

Python中, 介绍面向对象及三大特征

面向对象(Object Oriented Programming) OOP, 是一个重要的编程范式, 它主要基于"对象"的概念, 这些对象具有属性(数据)和方法(函数) 三个特征: 封装, 继承,多态 简单来说: 封装: 隐藏内部实现细节, 只保留功能接口 继承: 类与类之间的关系 (比如说父和子的关系…

CTF网络安全大赛详情

网络安全已成为现代社会的一个关键挑战&#xff0c;随着互联网技术的飞速发展&#xff0c;从个人隐私保护到国家安全&#xff0c;网络安全的重要性日益突显。为了应对这一挑战&#xff0c;CTF&#xff08;Capture The Flag&#xff0c;中文&#xff1a;夺旗赛&#xff09;应运而…

openEuler-22.03下载、安装

一、下载 下载地址&#xff1a;openEuler下载 | 欧拉系统ISO镜像 | openEuler社区官网 下载版本&#xff1a;openEuler-22.03-LTS-x86_64-dvd.iso 二、安装 配置完后开启虚拟机 设置完后&#xff0c;重启虚拟机 设置桥接模式的网络 cd /etc/sysconfig/network-scripts/ vi if…

LeetCode 2739. 总行驶距离

题目链接https://leetcode.cn/problems/total-distance-traveled/?envTypedaily-question&envId2024-04-25 简单题&#xff0c;看代码思考一下即可理解 class Solution {public int distanceTraveled(int mainTank, int additionalTank) {int res 0;while (mainTank >…

RK3568 学习笔记 : u-boot 千兆网络无法 ping 通PC问题的解决

前言 开发板型号&#xff1a; 【正点原子】 的 RK3568 开发板 使用 虚拟机 ubuntu 20.04 收到单独 编译 RK3568 u-boot 【问题】u-boot 千兆网络无法ping 通&#xff1f;Linux 下千兆网络正常&#xff0c;说明&#xff1a;开发板硬件正常 u-boot 下网络如果通了&#xff0c;…

寄存器和变量有什么区别

2024年4月25日&#xff0c;周四晚上 寄存器和变量是计算机编程和计算机硬件中两个不同的概念&#xff0c;它们在内存管理和数据存储方面有着不同的作用和特点。 寄存器&#xff1a; 硬件实现&#xff1a;寄存器是计算机处理器&#xff08;CPU&#xff09;内部的一组高速存储单…

【高频】基于GBDT-FM模型的level-2高频数据实证研究(二)

【高频】基于GBDT-FM模型的level-2高频数据实证研究&#xff08;二&#xff09; 原创 Yud. 2AMquant 2024-04-04 11:30 广东 上一篇中初步提及了Level2数据中常见变量指标的构建方式&#xff0c;以及其带来的价格冲击。此篇将使用GBDT-LM模型对短程价格走势进行简单预测。 ps…

Nginx下载安装,什么是nginx,什么是反向代理,Windows下、linux下安装nginx(保姆级教程)

文章目录 一、Nginx简介为什么要使用NginxNginx的特点Nginx的相关概念正向代理反向代理动静分离负载均衡 二、Nginx安装1. Windows安装2. Linux安装 一、Nginx简介 Nginx 是一个高性能的 HTTP&#xff08;静态资源服务器&#xff09; 和 反向代理 Web 服务器。 为什么要使用N…

JavaScript常问面试题

css 1.HTML5新增了哪些内容 语义化更好的内容标签(header,footer,main,nav,aside,article,section)音频 ,视频标签(audio, video)画布(canvas)表单控件 calendar , date , time , email , url , search , tel , file , number地理位置API(geolocation)拖拽释放API(Drap and d…

AI-数学-高中-44导数的运算法则

原作者视频&#xff1a;【导数】【一数辞典】3导数的运算法则&#xff08;略难&#xff09;_哔哩哔哩_bilibili 三种求导表达方式一样的&#xff0c;中间的比较常用&#xff1a; 链式法则&#xff1a;从外向内&#xff1a;

Redis学习(三)| Redis高可用和容错机制详解

文章目录 高可用性主从复制&#xff08;Master-Slave Replication&#xff09;哨兵&#xff08;Sentinel&#xff09; 容错性数据持久化哨兵&#xff08;Sentinel&#xff09; 高可用vs容错性概念关联 结论 Redis&#xff08;Remote Dictionary Server&#xff09;是一种高性能…

如何部署Tensorrtx

因为模型跑起来太慢了&#xff0c;所以想要运用tensorrtx进行加速。但是这个是有难度的&#xff0c;且网络上的教程大多写的不是很好。我将以一个新人的视角&#xff0c;从头开始部署基于yolov5的tensorrtx加速。 知识补充&#xff1a;TensorRT和TensorRTX的区别 tensorRT是英…

Leaflet加载geowebcache的WMTS服务

方法1&#xff1a;leaflet.TileLayer.WMTS插件 插件地址https://github.com/alexandre-melard/leaflet.TileLayer.WMTS 用法示例https://hanbo.blog.csdn.net/article/details/80768710 我的示例代码 <!DOCTYPE html> <html lang"zh"> <head><…

【C++】117 填充每个节点的下一个右侧结点指针

给定一个二叉树&#xff1a; struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点&#xff0c;则将 next 指针设置为 NULL 。 初始状态下&#xff0c;所有 next 指…

统一SQL 支持Oracle cast函数转换

统一SQL介绍 https://www.light-pg.com/docs/LTSQL/current/index.html 源和目标 源数据库&#xff1a;Oracle 目标数据库&#xff1a;Postgresql&#xff0c;TDSQL-MySQL&#xff0c;达梦8&#xff0c;LightDB-Oracle 操作目标 在Oracle中&#xff0c;cast函数允许将一种…

yolov8 区域声光报警+计数

yolov8 区域报警计数 1. 基础2. 报警功能2. 1声音报警代码2. 2画面显示报警代码 3. 完整代码4. 源码 1. 基础 本项目是在 yolov8 区域多类别计数 的基础上实现的&#xff0c;具体区域计数原理可见上边文章 2. 报警功能 设置一个区域region_points&#xff0c;当行人这一类别…

XiaodiSec day028 Learn Note 小迪安全学习笔记

XiaodiSec day028 Learn Note 小迪安全学习笔记 记录得比较凌乱&#xff0c;不尽详细 day 28 还是 sql 注入 知识点 提交方式的注入 在 php, spring boot, flask 都有相关的提交方式 提交方式的注入 数据以某种方式提交到后端 数据大小和数据类型和提交方式有关 如身份…

链栈的基本操作(c语言实现)

栈的概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 栈的结构 定义栈…