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

经验笔记:Git 中的远程仓库链接及上下游关系管理

Git 中的远程仓库链接及上下游关系管理

1. 远程仓库的链接信息

当你克隆一个远程仓库时,Git 会在本地仓库中记录远程仓库的信息。这些信息包括远程仓库的 URL、默认的远程名称(通常是 origin),以及远程仓库中的所有分支和标签。这些信息存储在 .git/config 文件中,你可以通过以下命令查看远程仓库的详细信息:

git remote -v

例子1:查看远程仓库信息

# 克隆一个远程仓库
git clone https://gitee.com/user/repo.git
cd repo# 查看远程仓库信息
git remote -v

输出可能类似于:

origin  https://gitee.com/user/repo.git (fetch)
origin  https://gitee.com/user/repo.git (push)
2. --track 选项

--track 选项用于在创建新分支时自动设置跟踪关系。当你使用 git checkout 命令创建并切换到一个新分支时,可以使用 --track 选项来设置跟踪关系。

例子1:创建并切换到新分支,同时设置跟踪关系

# 从远程分支创建并切换到本地分支
git checkout --track origin/feature-branch

例子2:从现有本地分支创建新分支并设置跟踪关系

# 创建并切换到新分支
git checkout -b new-feature-branch# 从远程分支创建并切换到本地分支
git checkout --track origin/new-feature-branch
3. --set-upstream 命令

--set-upstream(或 --set-upstream-to)命令用于将本地分支与远程分支建立跟踪关系。这使得你可以更方便地使用 git pullgit push 命令,而不需要每次都指定远程仓库和分支名称。

例子1:创建本地分支并手动设置跟踪关系

# 创建并切换到新分支
git checkout -b feature-branch# 手动设置跟踪关系
git branch --set-upstream-to=origin/feature-branch

例子2:在已存在的本地分支上设置跟踪关系

# 切换到已存在的本地分支
git checkout feature-branch# 设置跟踪关系
git branch --set-upstream-to=origin/feature-branch

例子3:在推送时自动设置跟踪关系

# 创建并切换到新分支
git checkout -b feature-branch# 推送并自动设置跟踪关系
git push -u origin feature-branch
4. 上下游关系

在 Git 中,上游(upstream)和下游(downstream)的概念用于描述本地分支与远程分支之间的关系:

  • 上游:远程仓库中的分支,通常是 origin 仓库中的分支。
  • 下游:本地仓库中的分支,通常是你在本地工作的分支。

建立上下游关系后,你可以使用 git pullgit push 命令更方便地同步数据。

例子1:检查当前分支的跟踪关系

# 查看当前分支的跟踪关系
git branch -vv

输出可能类似于:

* feature-branch 7a8b9c0 [origin/feature-branch] Add new featuremain            1a2b3c4 [origin/main] Initial commit

例子2:删除跟踪关系

# 删除当前分支的跟踪关系
git branch --unset-upstream
5. git clone 默认操作

git clone 命令用于从远程仓库克隆一个完整的仓库到本地。默认情况下,git clone 会执行以下操作:

  • 下载远程仓库的所有分支和标签。
  • 创建一个本地仓库,并将远程仓库设置为默认的远程仓库(通常是 origin)。
  • 自动检出(checkout)远程仓库的默认分支(通常是 mainmaster),并将其设置为本地的默认分支。
  • 为默认分支设置跟踪关系,使得你可以直接使用 git pullgit push

例子1:克隆远程仓库

# 克隆远程仓库
git clone https://gitee.com/user/repo.git
cd repo# 查看当前分支
git branch
# 当前分支为 默认分支(`main`)

例子2:克隆并指定分支

# 克隆远程仓库并指定分支
git clone -b feature-branch https://gitee.com/user/repo.git
cd repo# 查看当前分支
git branch
# 当前分支为 指定分支(`feature-branch`)
6. git fetch --all 命令

git fetch 命令用于从远程仓库获取最新的数据,但不会自动合并或修改当前工作目录中的文件。git fetch --all 命令会从所有配置的远程仓库中获取最新的数据,包括所有分支和标签。

例子1:从所有远程仓库获取最新数据

# 从所有远程仓库获取最新数据
git fetch --all

例子2:从特定远程仓库获取最新数据

# 从特定远程仓库获取最新数据
git fetch origin

例子3:查看获取的数据

# 查看获取的数据
git log --oneline --all

总结

  • 远程仓库的链接信息:克隆仓库时自动记录。
  • --track 选项:在创建新分支时自动设置跟踪关系。
  • --set-upstream 命令:手动设置本地分支与远程分支的跟踪关系。
  • 上下游关系:描述本地分支与远程分支之间的关系。
  • git clone 默认操作:克隆仓库并设置默认分支的跟踪关系。
  • git fetch --all 命令:从所有远程仓库获取最新数据。

希望这篇详细的经验笔记能帮助你更好地理解和应用这些 Git 命令。

相关文章:

经验笔记:Git 中的远程仓库链接及上下游关系管理

Git 中的远程仓库链接及上下游关系管理 1. 远程仓库的链接信息 当你克隆一个远程仓库时,Git 会在本地仓库中记录远程仓库的信息。这些信息包括远程仓库的 URL、默认的远程名称(通常是 origin),以及远程仓库中的所有分支和标签。…...

Paint 学习笔记

目录 ippaint 外扩对象 LCM_inpaint_Outpaint_Comfy: 不支持文字引导 ippaint https://github.com/Sanster/IOPaint 外扩对象 https://www.iopaint.com/models/diffusion/powerpaint_v2 GitHub - open-mmlab/PowerPaint: [ECCV 2024] PowerPaint, a versatile …...

Jenkins修改LOGO

重启看的LOGO和登录页面左上角的LOGO 进入LOGO存在的目录 [roottest-server01 svgs]# pwd /opt/jenkins_data/war/images/svgs [roottest-server01 svgs]# ll logo.svg -rw-r--r-- 1 jenkins jenkins 29819 Oct 21 10:58 logo.svg #jenkins_data目录是我挂载到了/opt目录&…...

kafka是如何做到高效读写

消息持久化: Kafka 将消息存储在磁盘上,并且通过顺序写入的方式提高写入性能。 消息被追加到日志文件的尾部,避免了随机写操作,从而提高了写入速度。零拷贝技术:利用操作系统的零拷贝特性,数据可以从磁盘直…...

Intern大模型训练营(九):XTuner 微调实践微调

本节课程的视频和教程都相当清晰,尤其是教程,基本只要跟着文档,在开发机上把指令都相同地输出一遍,就可以完成任务(大赞),相当顺利。因此,这里的笔记就不重复赘述步骤,更…...

从一次java.io.StreamCorruptedException: invalid stream header: 48656C6C 错误中学到的调试思路

问题场景: 在项目中,我试图使用 Java 的 ObjectInputStream 反序列化一个对象。代码逻辑看似简单:读取字节流,将其转为 Java 对象。然而,程序抛出了以下异常: java.io.StreamCorruptedException: invalid…...

树莓派的发展历史

树莓派(Raspberry Pi)是由英国的树莓派基金会开发的一系列单板计算机,其目标是为了促进计算机科学教育,同时提供廉价的计算机硬件平台。 1. 诞生背景与初代模型(2006-2012) 背景:树莓派的概念起…...

K8S containerd拉取harbor镜像

前言 接前面的环境 K8S 1.24以后开始启用docker作为CRI,这里用containerd拉取 参考文档 正文 vim /etc/containerd/config.toml #修改内容如下 #sandbox_image "registry.aliyuncs.com/google_containers/pause:3.10" systemd_cgroup true [plugins.…...

Ubuntu 环境下通过 Apt-get 安装软件

操作场景 为提升用户在云服务器上的软件安装效率,减少下载和安装软件的成本,腾讯云提供了 Apt-get 下载源。在 Ubuntu 环境下,用户可通过 Apt-get 快速安装软件。对于 Apt-get 下载源,不需要添加软件源,可以直接安装软…...

vue使用List.forEach遍历集合元素

需要遍历集合对其每个元素进行操作时,可以使用forEach方法 1.语法:集合.forEach ( 定义每一项 > 定义每一项都要进行的逻辑 ) 2、使用场景: //例如需要给每个员工的工资数量加1000this.personList.forEach(item>item.salary100…...

ROM修改进阶教程------安卓14去除修改系统应用后导致的卡logo验证步骤 适用安卓13 14 安卓15可借鉴参考

上期的博文解析了安卓14 安卓15去除系统应用签名验证的步骤解析。我们要明白。修改系统应用后有那些验证。其中签名验证 去卡logo验证 与可降级安装应用验证等等的区别。有些要相互结合使用。今天的博文将对修改系统应用后卡logo验证做个步骤解析。 通过博文了解💝💝�…...

苹果macbook,MacOS 11,12,13,14,15 跳过监管锁(配置锁)

第一步:进入恢复模式 长按电源键关机,再长按开机进入恢复模式。(M,Intel芯片方法不同) 第二步:复制代码 右上角联网,打开Safari,地址栏输入http://i7q.cn/61NWfQ。复制以下命令&am…...

【YOLOv8】安卓端部署-2-项目实战

文章目录 1 准备Android项目文件1.1 解压文件1.2 放置ncnn模型文件1.3 放置ncnn和opencv的android文件1.4 修改CMakeLists.txt文件 2 手机连接电脑并编译软件2.1 编译软件2.2 更新配置及布局2.3 编译2.4 连接手机 3 自己数据集训练模型的部署4 参考 1 准备Android项目文件 1.1…...

第二十四章 Spring之源码阅读——AOP篇

Spring源码阅读目录 第一部分——IOC篇 第一章 Spring之最熟悉的陌生人——IOC 第二章 Spring之假如让你来写IOC容器——加载资源篇 第三章 Spring之假如让你来写IOC容器——解析配置文件篇 第四章 Spring之假如让你来写IOC容器——XML配置文件篇 第五章 Spring之假如让你来写…...

Linux配置MySQL自动备份

Linux配置MySQL自动备份 配置MySQL的自动备份首先要编辑一个备份脚本然后配置开启Linux定时任务即可,下面是具体配置 1、配置备份脚本并测试执行 1.1 编写备份脚本 #这里创建脚本名为mysql_backups.sh mkdir ~/mysqlmulu touch ~/mysqlmulu/mysql_backups.sh#!/…...

qt 之 QDockWidget设置不可拖动

在Qt中,可以通过设置QDockWidget的属性来禁止它被拖动。你可以使用QDockWidget::setFeatures方法并传递QDockWidget::DockWidgetMovable作为参数来禁用拖动功能。 以下是一个简单的示例代码,展示了如何设置QDockWidget为不可拖动: #include …...

【Java知识】Java性能测试工具JMeter

一文带你了解什么是JMeter 概述JMeter的主要功能:JMeter的工作原理:JMeter的应用场景:JMeter的组件介绍: 实践说明JMeter实践基本步骤:JMeter实践关键点: JMeter支持哪些参数化技术?常见插件及其…...

Git 安装

一、下载安装包 Git官网 https://git-scm.com/ Git 阿里镜像 二、安装 点击安装包运行,基本上一路 next 就行。 使用许可声明 选择安装目录 选择组件,默认勾选就行 选择开始菜单文件夹,默认就行 选择 Git 的默认编译器,默认 V…...

【Python】FastAPI:Token认证

FastAPI:Token认证 本教程通过 FastAPI 实现用户登录和基于 JWT(JSON Web Token) 的认证与授权,适合初学者到进阶用户。教程特别关注 Depends、OAuth2PasswordBearer 等非基础操作的详细讲解,帮助你全面掌握相关技术。…...

【FAQ】HarmonyOS SDK 闭源开放能力 —ArkUI

1.问题描述: App启动的时候会有个弹框,询问用户是否需要进去隐私模式,在该隐私模式下,App不能获取任何用户信息。当前鸿蒙App级别是否有隐私模式? 解决方案: 当前实现隐私模式都是三方应用自己实现&…...

ubuntu没有了有线网络如何修复

今天打开ubuntu之后发现有线网络连接没有了,如下图,此时是修复好之后的,“有线”部分存在,出现问题时是不存在的 此时只需要修改NetworkManager.conf配置文件,将managedfalse更改为managedtrue,保存退出就可以了 sudo…...

渗透学习之windows基础

引路Windows基础之病毒编写(完结)_哔哩哔哩_bilibili windows基础(2) 21 ftp 23 tenlet 80 web 80-89 可能是web 443 ssl心脏滴血漏洞以及一些web漏洞测试 445 smb 1433 msspl 1521 oracle 2082/2083 cpanel 主机管理系…...

【Swift】运算符

文章目录 术语赋值运算符算数运算符基本四则算术运算符求余运算符一元负号运算符一元正号运算符 比较运算符三元运算符空合运算符区间运算符闭区间运算符半开区间运算符单侧区间运算符 逻辑运算符逻辑非运算符逻辑与运算符逻辑或运算符逻辑运算符组合计算 位运算符运算符优先级…...

minikube start --driver=docker 指定国内镜像

要在Ubuntu 22上使用Minikube并指定国内镜像,你可以根据以下步骤操作: 安装Minikube: 你可以通过阿里云提供的国内源来安装Minikube,这样可以避免访问国外源的问题。使用以下命令安装Minikube: curl -Lo minikube http…...

Quality minus junk论文阅读

Quality minus junk论文阅读 文章目录 Quality minus junk论文阅读 AbstractTheoretical FrameworkEmpirical AnalysisDataQuality scorePortfoliosEx ante quality forecasts fundamentals Results and DiscussionThe price of qualityUnderstanding the price of quality: th…...

Apache和HTTPS证书的生成与安装

摘要 介绍linux系统下使用openssl生成https证书,并将证书安装在apache服务器上,最终实现通过https访问服务器。这个过程涉及到openssl生成自签名证书(适用于测试环境),修改apache配置,开放防火墙https端口…...

前端—Cursor编辑器

在当今快速发展的软件开发领域,效率和质量是衡量一个工具是否优秀的两个关键指标。今天,我要向大家推荐一款革命性的代码编辑器——Cursor,它集成了强大的AI功能,旨在提高开发者的编程效率。以下是Cursor编辑器的详细介绍和推荐理…...

【数据结构】【线性表】【练习】删除链表倒数第n个结点

目录 申明 题目 分析题目信息 解题思路 代码解析 技巧解析:创建虚拟头结点 时间复杂度分析 思考:能否只用一趟扫描实现? 双指针 双指针解题思路 代码解析 申明 该题源自力扣题库19,文章内容(代码&#xff0c…...

MySQL高级(四):索引

基础概念 什么是索引? 索引是一种数据结构,用于加速查询的过程。它类似于书本的目录,可以快速定位数据行。MySQL 索引主要是基于 B 树(也有其他类型如哈希索引、全文索引等)来实现的。 为什么使用索引? …...

hhdb数据库介绍(9-21)

计算节点参数说明 checkClusterBeforeDnSwitch 参数说明: PropertyValue参数值checkClusterBeforeDnSwitch是否可见否参数说明集群模式下触发数据节点高可用切换时,是否先判断集群所有成员正常再进行数据节点切换默认值falseReload是否生效是 参数设…...

客服平台系统/石家庄网站seo

转自:http://www.cnblogs.com/BitArt/archive/2012/12/26/2833100.html 1.概述 CRC即Cyclic Redundancy Check,循环冗余校验,是一种数字通信中的常用信道编码技术。其特征是信息段和校验字段的长度可以任意选定。 2.CRC校验的基本原理&#x…...

超简单做网站软件/搜索引擎优化师工资

前言: uni-app中方法整理之请求后台接口。个人封装版本与官方提供方法。 官方入口: 封装版本:目录见下 1、新建文件夹api,这里主要放接口信息 login.js 放登录页面的接口方法 import axios from ../util/http const Login {/…...

电子商务网站建设前期/百度指数是免费的吗

文章预览前言RxJava的简单使用1、环境准备2、activity_main.xml3、MianActivity.java4、效果预览RxJava操作符1、创建操作符2、转换操作符3、 合并操作符4、功能操作符5、过滤操作符前言 官方的定义:一个在Java VM上使用可观测的序列,组成异步的、基于事…...

江阴那家网站做的好/惠州seo整站优化

深度学习开发者之间“最遥远的距离”,就是你还在海量计算资源、超大内存的模型中“苦苦挣扎”寻求“落地应用之路”,而我已将深度学习模型快速部署至移动端“随处可用”。想知道其中的“秘诀”?就要请出百度AI快车道——企业深度学习实战营今…...

网站结构优化建议/软文营销平台

题意 有M篇标准作文组成了一个作文库(每篇作文都是一个01的字符串),然后给出N篇作文(自然也是01字符串)。如果一个长度不小于L的串在作文库中出现过,那么它是熟悉的。对于某一篇作文,我们要把它分为若干段,…...

深圳公明网站建设/百度如何快速收录网站

在洛阳有些小区,物业管理比较严格,为了小区外观建筑达到一致,不允许业主自己改变窗型,要求统一规定的推拉窗,但大家都知道,推拉窗密封效果没有平开窗好,特别是高层住宅,用不了几年&a…...