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

Git远程仓库

Git远程仓库

  • 推送
  • 拉取
    • git fetch
    • git pull
  • 克隆

推送

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。那要怎么实现这种分布呢?我们可以找一台电脑充当服务器,也就是扮演远程仓库的角色,一直都处于开机运行状态。其他人都从这台服务器上的版本库中将项目克隆到自己电脑上,每个人都可以克隆相同的项目,没有主次之分。大家做好的项目也可以各自提交推送到服务器的远程仓库中。

为了创建远程仓库,可以自己搭建一台Git服务器,或者借助github或gitee平台进行实操。由于gitee是国内的代码托管平台,操作起来阻碍更小,因此这里使用gitee平台的仓库作为远程仓库。

我在gitee平台上创建了一个名为mmf的远程仓库,同时在本地电脑上创建了一个mmf空目录,并在mmf目录中创建git仓库:

git init  # 创建git仓库
touch test.txt  # 创建一个test.txt文件
git add test.txt  # 将文件添加到暂存区
git commit -m "add a test.txt file"  # 将文件提交至本地仓库

然后使用以下命令将远程仓库与本地仓库进行关联:

git remote add origin https://gitee.com/aibc-hp/mmf.gitgit remote add -- 这是Git的一个基础命令,用于在本地仓库的远程仓库列表中添加一个远程仓库origin -- 这是添加的远程仓库的名字,可以根据个人喜好命名,通常使用“origin”作为默认名称https://gitee.com/aibc-hp/mmf.git -- 这是添加的远程仓库的URL,指定了远程仓库的地址'''
这里的URL在结尾处添加了.git扩展名,这是因为大多数远程仓库服务提供商(如Gitee、GitHub等)要求在URL中包含.git扩展名来指示仓库的类型。通过执行该命令,Git会将指定的远程仓库添加到本地仓库的远程仓库列表中,并将其命名为origin,这样我们就可以使用origin来引用该远程仓库,进行推送、拉取等操作。
'''

建立本地仓库和远程仓库的连接后,我们便可以使用以下命令将本地仓库的提交推送到远程仓库:

git push -u origin mastergit push -- 这是Git的一个基础命令,用于将本地仓库的提交推送到远程仓库-u -- 这是一个可选参数,用于将本地分支与远程分支进行关联,使用该参数后,下次推送时可以省略远程仓库和分支的名称origin -- 这是远程仓库的名称,即之前使用git remote add命令添加的远程仓库master -- 这是本地仓库的分支名称,通常是主分支'''
通过执行该命令,Git会将本地仓库的提交推送到远程仓库的指定分支。如果使用了-u参数,Git还会将本地分支和远程分支进行关联,以便后续的推送和拉取操作可以更加简便。使用git push命令,实际上就是将本地当前的master主分支推送到了远程,并与远程的master主分支进行合并。
'''git push origin siam:object  # 将本地仓库的siam分支推送到origin远程仓库的object分支

如果添加远程仓库的时候地址写错了,或是想解除远程仓库与本地仓库的关联,可以使用git remote rm <name>命令。使用前,可以先用git remote -v查看远程仓库信息:

git remote -v  # 查看远程仓库信息
---------
origin  https://gitee.com/aibc-hp/mmf.git (fetch)
origin  https://gitee.com/aibc-hp/mmf.git (push)

然后根据远程仓库的名字来解除关联:

git remote rm origin  # 解除本地仓库与origin远程仓库的关联,即将origin从本地仓库的远程仓库列表中删除

注意: 这里这是解除了本地仓库与远程仓库的关联,并不是物理意义上的删除,远程仓库本身不会有任何影响。

拉取

我们想将远程仓库上的文件拉取下来,可以通过git fetchgit pull两个命令来进行操作。

git fetch

git fetch相当于是从远程仓库获取最新版本的项目到远程仓库的master主分支中,然后将远程的master主分支(包含最新版本的项目)拉取到本地仓库,但是不会自动合并到本地仓库内,也就是需要自己执行合并操作。

git fetch origin master  # 从远程仓库拉取最新版本的项目内容,origin是远程仓库的名称,master是远程仓库的分支'''
通过执行git fetch这个命令,Git会与远程仓库进行通信,检查远程仓库的master分支是否有新的提交。如果有新的提交,Git会将这些提交下载到本地,并更新远程跟踪分支(如origin/master)的位置。但是,它不会自动将这些更新合并到当前本地分支。
'''git merge origin/master  # 将远程的master合并到本地,origin/master是远程仓库的分支名称
git merge origin/master siam  # 将远程的master分支合并到本地的siam分支'''
通过执行这个命令,Git会将远程仓库的origin/master分支的更改合并到当前所在的本地分支。这将把远程仓库的最新提交应用到当前分支,使得当前分支与远程仓库的master分支保持同步。
'''

git pull

git pull相当于是git fetchgit merge两者的结合体,可以从远程仓库拉取最新版本的内容,并直接合并到本地仓库的master主分支。

git pull [origin master]  # []中是可选内容,指定拉取哪个远程仓库中的哪个分支,默认为master
git pull origin master  # 拉取origin远程仓库的master分支到本地,并自动将其合并到本地的当前分支
git pull origin object:siam  # 拉取origin远程仓库中的object分支到本地,并将其合并到本地的siam分支

小结:

  • git fetch只是获取远程仓库的更新,不会自动合并;而git pull则会获取远程仓库的更新并自动合并到本地的当前分支。
  • 使用git fetch可以更加灵活地查看远程仓库的更新情况,并决定何时将其合并到本地分支。而git pull则是一种快捷方式,适用于你希望立即将远程分支的更新合并到当前分支的情况。
  • 可以使用git branch命令来查看本地仓库的分支列表
  • 可以使用git branch -r命令来查看远程仓库的分支列表

克隆

git clone https://gitee.com/aibc-hp/mmf.git  # 将远程仓库mmf克隆到本地

相关文章:

Git远程仓库

Git远程仓库 推送拉取git fetchgit pull 克隆 推送 Git是分布式版本控制系统&#xff0c;同一个Git仓库&#xff0c;可以分布到不同的机器上。那要怎么实现这种分布呢&#xff1f;我们可以找一台电脑充当服务器&#xff0c;也就是扮演远程仓库的角色&#xff0c;一直都处于开机…...

Redis缓存设计

缓存能够有效地加速应用的读写速度&#xff0c;同时也可以降低后端负载&#xff0c;对日常应用的开发至关重要。但是将缓存加入应用架构后也会带来一些问题&#xff0c;本文将针对这些问题介绍缓存使用技巧和设计方案。 1缓存的收益和成本 下图左侧为客户端直接调用存储层的架…...

华熙生物肌活:2023年版Bio-MESO肌活油性皮肤科学护肤指南

关于报告的所有内容&#xff0c;公众【营销人星球】获取下载查看 核心观点 以悦己和尝鲜为消费动机的他们&#xff0c;已迅速崛起成为护肤行业的焦点人群。而在新生代护肤议题中&#xff0c;“油性皮肤护理”已经成为一个至关重要的子集。今天&#xff0c;中国新生代人口数量…...

mysql索引介绍

索引可以提升查询速度&#xff0c;会影响where查询&#xff0c;以及order by排序。MySQL索引类型如下&#xff1a; 从索引存储结构划分&#xff1a;B Tree索引、Hash索引、全文索引 从应用层次划分&#xff1a;主键索引、唯一索引、单值索引、复合索引 从索引键值类型划分&am…...

说一下什么是tcp的2MSL,为什么客户端在 TIME-WAIT 状态必须等待 2MSL 的时间?

1.TCP之2MSL 1.1 MSL MSL:Maximum Segment Lifetime报文段最大生存时间&#xff0c;它是任何报文段被丢弃前在网络内的最长时间 1.2为什么存在MSL TCP报文段以IP数据报在网络内传输&#xff0c;而IP数据报则有限制其生存时间的TTL字段&#xff0c;并且TTL的限制是基于跳数 1.3…...

更新spring boot jar包中的BOOT-INF/lib目录下的jar包

更新spring-boot jar包中的BOOT-INF/lib目录下的jar包 场景 需要更新lib目录下某个jar包的配置文件 失败的解决方法 用解压软件依次打开spring-boot jar包&#xff08;设为a.jar&#xff09;、BOOT-INF/lib目录下的jar包&#xff08;设为b.jar&#xff09;&#xff0c;然后修改…...

纯前端 -- html转pdf插件总结

一、html2canvasjsPDF&#xff08;文字会被截断&#xff09;&#xff1a; 将HTML元素呈现给添加到PDF中的画布对象&#xff0c;不能仅使用jsPDF&#xff0c;需要html2canvas或rasterizeHTML html2canvasjsPDF的具体使用链接 二、html2pdf&#xff08;内容显示不全文字会被截断…...

数据结构和算法基础

巩固基础&#xff0c;砥砺前行 。 只有不断重复&#xff0c;才能做到超越自己。 能坚持把简单的事情做到极致&#xff0c;也是不容易的。 数据结构和算法 程序 数据结构算法 数据结构是算法的基础 问题1&#xff1a;字符串匹配问题。str1 是否完全包含 str2 1&#xff09;暴…...

JS二维数组转化为对象

将二维数组转化为对象的形式 转之前的数据&#xff1a; 转之后&#xff1a; const entries new Map([[foo, bar],[baz, 42],[beginNode, 202212151048010054],[beginNode, 202212151048447710],]); console.log(entries)const obj Object.fromEntries(entries);console.lo…...

通过 EPOLL 解决客户端同时连接多服务器的问题

项目需求是 程序上 同时配置了多个服务端 设备 每隔一段时间需要 比如1分钟 连一下服务器看下是否连通 并将结果上报给平台 原来是用线程池来做的 具体大概就是 定时器到了之后 遍历设备列表 找到设备之后 通过 socket连接 发送一个指令 等待服务器返回 用来检查是…...

JavaScript数据结构【进阶】

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录 使用 splice() 添加元素使用 slice() 复制数组元素使用展开运算符复制数组使用展开运算符合并数组使用 indexOf() 检查元素是否存在使用 for 循环遍历数组中的全部元素创建复杂的多维数组将键值对添加到对象…...

jQuery编程学习3(jQuery 其他方法: jQuery 拷贝对象、 jQuery 多库共存、jQuery 插件)

目录 jQuery 其他方法 1. jQuery 拷贝对象 $.extend()方法 2. jQuery 多库共存 问题概述&#xff1a; 客观需求&#xff1a; jQuery 解决方案&#xff1a;&#xff08;两种方式&#xff09; 3. jQuery 插件 jQuery 插件常用的网站&#xff1a; jQuery 插件使用步骤&…...

jvm——垃圾回收机制(GC)详解

开始之前有几个GC的基本问题 什么是GC&#xff1f; GC 是 garbage collection 的缩写&#xff0c;意思是垃圾回收——把内存&#xff08;特别是堆内存&#xff09;中不再使用的空间释放掉&#xff1b;清理不再使用的对象。 为什么要GC&#xff1f; 堆内存是各个线程共享的空间…...

计算机组成原理-笔记-第七章

目录 七、第七章——输入输出系统 1、IO设备与IO控制方式 &#xff08;1&#xff09;控制方式&#xff08;查询&#xff0c;中断&#xff0c;DMA&#xff09; &#xff08;2&#xff09;通道控制 &#xff08;3&#xff09;IO系统 &#xff08;4&#xff09;总结 2、外设…...

【Linux】网络基础2

文章目录 网络基础21. 应用层1.1 协议1.2 HTTP 协议1.2.1 URL1.2.2 urlencode和urldecode1.2.3 HTTP协议格式1.2.4 HTTP的方法1.2.5 HTTP的状态码1.2.6 HTTP 常见的header1.2.7 最简单的HTTP服务器 2. 传输层2.1 端口号2.1.1 端口号范围划分2.1.2 认识知名端口号2.1.3 netstat2…...

​可视化绘图技巧100篇进阶篇(四)-三维簇状柱形图(3D Clustered Bar Chart)

目录 前言 适用场景 图例 柱形图 一、柱形图的特点 二、柱形图的类型...

架构设计第八讲:架构 - 理解架构的模式2 (重点)

架构设计第八讲&#xff1a;架构 - 理解架构的模式2 (重点) 本文是架构设计第8讲&#xff1a;架构 - 理解架构的模式2&#xff0c;整理自朱晔的互联网架构实践心得, 他是结合了 微软给出的云架构的一些模式的基础上加入他自己的理解来总结互联网架构中具体的一些模式。我在此基…...

Java中的Maven Shade插件是什么?

Maven Shade插件是一个非常有用的Maven插件&#xff0c;它可以帮助你在构建项目时打包所有依赖项&#xff0c;并将其打包到一个单独的JAR文件中。这对于在构建过程中使用多个依赖项的项目非常有用&#xff0c;因为它可以让你避免在每个依赖项中都包含所有依赖项&#xff0c;从而…...

ffmpeg的bpp是什么?

例如&#xff1a; AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB... AV_PIX_FMT_BGR24, …...

【C# 基础精讲】类和对象的概念

在面向对象编程&#xff08;Object-Oriented Programming&#xff0c;OOP&#xff09;中&#xff0c;类和对象是两个核心概念&#xff0c;用于描述和实现现实世界中的实体和关系。OOP 是一种编程范式&#xff0c;通过将数据和操作封装为对象来组织和管理代码&#xff0c;使得代…...

Equalizer APO:Windows音频调校的终极解决方案

Equalizer APO&#xff1a;Windows音频调校的终极解决方案 【免费下载链接】equalizerapo Equalizer APO mirror 项目地址: https://gitcode.com/gh_mirrors/eq/equalizerapo 你是否曾经对Windows系统的音频输出感到不满意&#xff1f;无论是音乐欣赏时的平淡音质&#…...

避开CH32X035 I2C开发的三个大坑:地址移位、总线忙等待和GPIO重映射详解

CH32X035 I2C开发实战&#xff1a;避开地址移位、总线忙等待和GPIO重映射三大陷阱 当你在CH32X035的I2C开发中遇到通信失败时&#xff0c;是否曾怀疑过自己的硬件连接&#xff1f;实际上&#xff0c;80%的I2C问题都源于软件配置细节。本文将带你深入三个最容易被忽视的技术陷阱…...

React与Alan AI构建智能语音待办事项应用

1. 项目概述与核心价值 去年在开发个人效率工具时&#xff0c;我偶然发现语音交互能显著提升任务管理效率。传统Todo应用需要手动输入&#xff0c;而语音输入可以让记录想法像聊天一样自然。这个项目结合了React的前端灵活性、Firebase的实时数据库能力以及Alan AI的语音交互平…...

【企业级低代码落地白皮书】:基于VSCode的12类业务组件自动化配置标准(附Gartner认证配置模板)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VSCode低代码插件的核心架构与企业适配原则 VSCode低代码插件并非传统IDE扩展的简单功能叠加&#xff0c;而是以“可组合式前端抽象层 声明式后端契约”为双核驱动的轻量级集成架构。其核心由三部分构…...

DNA复制中的酶学:从大肠杆菌到人类,这些酶如何精准合成遗传密码?

DNA复制的分子交响曲&#xff1a;从大肠杆菌到人类的酶协作密码 在显微镜下&#xff0c;DNA复制过程如同一场精密编排的交响乐——数十种酶分子在纳米尺度上协同工作&#xff0c;以每秒上千个碱基的速度合成遗传信息。这场分子芭蕾的每个动作都关乎生命延续的准确性&#xff1a…...

别再死记硬背CNN结构了!用PyTorch手把手带你‘画’出第一个卷积层(附代码)

用PyTorch‘画’出你的第一个卷积层&#xff1a;从零构建CNN的视觉化实践 当你第一次听说卷积神经网络&#xff08;CNN&#xff09;时&#xff0c;是否曾被那些抽象的理论概念和复杂的结构图搞得晕头转向&#xff1f;别担心&#xff0c;今天我们不谈枯燥的数学公式&#xff0c;…...

基于深度学习的城市道路分割识别 图像识别+图像分割的多任务模型之道路分割 深度徐恶习路沿分割和车辆检测

基于Ultralytics/YOLOv5/v8的多任务模型 概述 本项目基于Ultralytics/YOLOv5&#xff0c;通过增加少量计算和显存开销&#xff0c;实现了同时进行目标检测和语义分割的多任务模型。在1024512的输入分辨率下&#xff0c;显存增加约350MB&#xff0c;而同分辨率下增加一个BiSeN…...

ESXi 8.0存储进阶:手把手教你创建RDM磁盘直通给群晖DSM,告别缓存盘限制

ESXi 8.0存储进阶&#xff1a;突破群晖DSM限制的RDM磁盘直通实战指南 在虚拟化环境中&#xff0c;存储性能往往是决定整体系统响应速度的关键因素。对于使用ESXi搭建All-in-One家庭服务器的技术爱好者来说&#xff0c;如何充分发挥NVMe SSD的性能优势&#xff0c;同时规避群晖D…...

思源宋体TTF:为什么这款免费字体能彻底改变你的中文排版体验

思源宋体TTF&#xff1a;为什么这款免费字体能彻底改变你的中文排版体验 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还记得那些年为中文字体版权发愁的日子吗&#xff1f;当我第一…...

当流媒体成为数字围城:N_m3u8DL-RE如何打破现代视频下载的壁垒

当流媒体成为数字围城&#xff1a;N_m3u8DL-RE如何打破现代视频下载的壁垒 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8…...