当前位置: 首页 > 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;使得代…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...