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克隆到本地

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

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

相关文章

用php语言写一个chatgpt3.5模型的例子

当然可以&#xff01;使用PHP语言调用OpenAI API与ChatGPT-3.5模型进行交互。首先&#xff0c;确保你已经安装了PHP 7.2或更新版本&#xff0c;并具备可用的OpenAI API密钥。 下面是一个基本的PHP示例&#xff0c;展示了如何使用OpenAI API与ChatGPT-3.5模型进行对话&#xff…

Android 广播阻塞、延迟问题分析方法

一、问题 最近遇到一个问题&#xff0c;发送广播&#xff08;普通广播&#xff09;给另一个应用&#xff0c;但是广播需要要等约1min后才收到。 二、分析原因 原因是系统有个广播接收器在接收到广播后处理了接近50s&#xff0c;所以阻塞了后面的广播处理。如果大家也出现了广…

低代码助力传统制造业数字化转型策略

随着制造强国战略逐步实施&#xff0c;制造行业数字化逐渐进入快车道。提高生产管理的敏捷性、加强产品的全生命周期质量管理是企业数字化转型的核心诉求&#xff0c;也是需要思考的核心价值。就当下传统制造业的核心问题来看&#xff0c;低代码是最佳解决方案&#xff0c;那为…

【Linux 网络】NAT技术——缓解IPv4地址不足

NAT技术 NAT 技术背景NAT IP转换过程NAPTNAT 技术的缺陷 NAT&#xff08;Network Address Translation&#xff0c;网络地址转换&#xff09;技术&#xff0c;是解决IP地址不足的主要手段&#xff0c;并且能够有效地避免来自网络外部的攻击&#xff0c;隐藏并保护网络内部的计算…

Seata - 入门笔记

1、事务 访问并可能更新数据库中数据库中各种数据线的一个程序执行单元 原子性&#xff1a;事务是一个不可分割的工作单位&#xff0c;一个事务要么都做要么都不做 一致性&#xff1a;必须是使数据库从一个一致性到另一个一致性的状态&#xff0c;中间状态不能被观察到 隔离…

Vector - CAPL - 诊断模块函数(流控制帧续)

目录 CanTpGetFirstSequenceNumber & CanTpSetFirstSequenceNumber 代码示例 CanTpIsUseFlowControlSTmin & CanTpIsUseFlowControlSTmin & CanTpUseFlowControlSTmin CanTpIsUseFlowControlFrames & CanTpUseFlowControlFrames 代码示例 CanTpSetFlowC…

京东秋招攻略,备考在线测评和网申笔试

京东秋招简介 伴随着社会竞争越来越激烈&#xff0c;人们投递简历的岗位也变得越来越多元&#xff0c;而无论人们的选择面变成何样&#xff0c;那些知名度较高的企业&#xff0c;永远都备受关注&#xff0c;只要其一发布招聘公告&#xff0c;总有人第一时间踊跃报名。而作为这…

动力节点|Spring6框架学习教程,从基础到手撕源码一套打通

Spring框架已广泛应用于诸多Java应用程序的开发中&#xff0c;它提供了很多解决方案及最佳实践&#xff0c;简化了Java应用程序的开发过程并加速了开发。 Spring6.0版本是下一个十年的新开端&#xff0c;动力节点老杜精心打造全新升级版Spring6教程&#xff0c;手把手教学&…

swiper vue修改数据,swiper不更新的问题

swiper第一次初始化的时候正常&#xff0c;但是当我改变源数据时&#xff0c;要么就是不能把数据显示完&#xff0c;要么就是没有翻页。尝试过重新赋值swiper&#xff0c;但是依旧没有解决&#xff0c;后面找到下面的方案&#xff0c;测试能够解决我的问题。 解决方案&#xf…

网络安全进阶学习第十五课——Oracle SQL注入

文章目录 一、Oracle数据库介绍二、Oracle和MySQL的语法差异&#xff1a;三、Oracle的数据库结构四、Oracle的重点系统表五、Oracle权限分类1、系统权限2、实体权限3、管理角色 六、oracle常用信息查询方法七、联合查询注入1、order by 猜字段数量2、查数据库版本和用户名3、查…

【框架类】—Vue3的生命周期

一、生命周期的相关函数 onBeforeMount 页面渲染之前 和 onMounted渲染之后 示例 <template><div class"test"><div ref"el">组件初始化</div></div> </template> <script> //按需引入所需方法 import { ref,…

vue中v-bind和v-model的区别

v-bind和v-model是Vue.js中的两个常用指令&#xff0c;它们在功能和用途上有一些区别。 v-bind指令&#xff08;或简写为:&#xff09;用于动态绑定数据到HTML属性(不是双向的)。它允许您将Vue实例的数据绑定到HTML元素的属性上&#xff0c;并根据数据的变化动态更新属性的值。…

Android Camera预览画面变形问题

csdn 问题 安卓camera1在预览时&#xff0c;预览画面看起来被拉伸了&#xff0e; 如图&#xff0c;圆形的盖子&#xff0c;变成椭圆形了&#xff0e; 代码 默认流程&#xff0c;如下为大致的打开摄像头并进行预览显示的代码 private Camera mCamera null; private Surfa…

一文盘点 Zebec 生态的几个利好预期

Zebec Protocol 是目前商业进展最快的流支付体系&#xff0c;也是推动流支付向 Web2 世界发展的主要生态。目前&#xff0c;其已经与包括 Visa、Master 等支付巨头展开了合作&#xff0c;以推出银行卡的方式进一步向金融发达地区推出 Zebec Card 以拓展业务&#xff0c;前不久其…

Docker安装 Kibana

目录 前言安装Kibana步骤1&#xff1a;准备1. 安装docker2. 搜索可以使用的镜像。3. 也可从docker hub上搜索镜像。4. 选择合适的redis镜像。 步骤2&#xff1a;拉取 kibana 镜像拉取镜像查看已拉取的镜像 步骤3&#xff1a;创建容器创建容器方式1&#xff1a;快速创建容器 步骤…

docker搭建在线Markdown服务器

1.安装docker 2.编写docker-compose.yml version: "3" services:database:image: postgres:11.6-alpineenvironment:- POSTGRES_USERcodimd- POSTGRES_PASSWORDchange_password- POSTGRES_DBcodimdvolumes:- "database-data:/var/lib/postgresql/data"re…

1.物联网IWIP网络

一。以太网 1.nc模拟UDP &#xff08;1&#xff09;COMMBOX通信调试工具 &#xff08;2&#xff09; 控制台输入nc -u 127.0.0.1 8000,此时串口也可以获得数据 &#xff08;3&#xff09;串口调试程序发送字符串&#xff0c;电脑控制台也会展示同样字符串&#xff08;说明UDP…

linux 下 jq 命令处理json文件的示例 —— 筑梦之路

简介 jq 是一个强大的命令行工具&#xff0c;用于处理 JSON 格式的数据。它可以帮助你查询、过滤、修改和处理 JSON 数据&#xff0c;使得在命令行环境下处理 JSON 变得非常方便。 参考资料&#xff1a; GitHub 地址&#xff1a;https://github.com/stedolan/jq jq 官方网站&a…

Java基础篇--运算符

目录 算术运算符 赋值运算符 比较运算符 逻辑运算符 条件运算符&#xff08;?:&#xff09; instanceof 运算符 Java运算符优先级 在程序中经常出现一些特殊符号&#xff0c;如、-、*、、>等&#xff0c;这些特殊符号称作运算符。运算符用于对数据进行算术运算、赋值…

java启动硬编码对应的是什么?

在Java中&#xff0c;启动硬编码&#xff08;Hardcoding&#xff09;指的是在代码中直接使用具体的数值、字符串或其他常量值&#xff0c;而不是通过外部配置文件或变量来获取这些值。 启动硬编码的示例&#xff1a; javaCopy code public class ExampleClass { public stati…