Git remote 远程仓库链接管理

2023-11-07

SVN 使用单个集中仓库作为开发人员的通信枢纽,通过在开发人员的工作副本和中央仓库之间传递变更集来进行协作。 这与 Git 的分布式协作模型不同,后者为每个开发人员提供了自己的仓库副本,并具有自己的本地历史记录和分支结构。 用户通常需要共享一系列提交而不是单个变更集。 Git 允许我们在仓库之间共享整个分支,而不是将变更集从工作副本提交到中央仓库。

集中式与分布式

git remote 命令是负责同步更改的更广泛系统的一部分。 通过 git remote 命令注册的记录与 git fetch、git push 和 git pull 命令结合使用。 这些命令都有自己的同步职责,可以在相应的链接上进行探索。

git remote 命令

git remote命令允许您创建、查看和删除到其他仓库的连接。远程连接更像书签,而不是直接链接到其他仓库。它们不是提供对另一个仓库的实时访问,而是作为一个简写的名称,可用于引用写起来比较繁琐的URL。

例如,下图显示了从本地的仓库到中央仓库和另一个开发人员的仓库的两个远程连接。我们可以将origin和john名称传递给其他Git命令,而不是传递它们的完整url来引用它们。

本地仓库和其他仓库链接


git remote 使用概述

git remote 命令本质上是一个接口,用于管理存储在仓库的 ./.git/config 文件中的远程条目列表。 以下命令用于查看远程列表的当前状态。

查看 git remote 配置

$ git remote

列出与其他仓库的远程连接。

$ git remote -v

与上述命令相同,但包括每个连接的 URL。

创建和修改 git 远程配置

git remote 命令也是一种方便用于修改仓库的 ./.git/config 文件的方法。 下面显示的命令可让管理与其他仓库的连接。 以下命令将修改仓库的 .git/config 文件。 以下命令的结果也可以通过文本编辑器直接编辑 .git/config 文件来实现。

$ git remote add <name> <url>

创建到远程存储库的新连接。添加远程链接后,就可以使用<name>作为其他Git命令中<url>的替代方式。

下面的命令是用来移除名为<name>的远程仓库的链接

$ git remote rm <name>

除此之外,还可以将远程仓库的链接名称从<old-name>重命名为<new-name>。

git remote rename <old-name> <new-name>

git remote 命令讨论

Git旨在为每个开发人员提供一个完全隔离的开发环境。这意味着信息不会在存储库之间自动来回传递。相反,开发人员需要手动将上游提交拉入其本地仓库,或手动将其本地提交推回到中央仓库。git remote命令实际上只是将URL传递给这些“共享”命令的一种更简单的方法。

origin Remote

当使用 git clone 克隆仓库时,它会自动创建一个名为 origin 的远程连接,指向克隆的远程仓库。 这对于创建中央仓库的本地副本的开发人员很有用,因为它提供了一种简单的方法来拉取上游更改或发布本地提交。 这种行为也是大多数基于 Git 的项目称与中央仓库的链接为 origin 的原因。

仓库 URL

Git支持多种引用远程仓库的方法。访问远程仓库的两种最简单的方法是通过HTTPSSH协议。HTTP是一种允许匿名、只读访问仓库的简单方法。例如:

http://host/path/to/repo.git

但是,通常不可能将提交推送到HTTP地址(无论如何,我们都不希望允许匿名推送)。对于读写访问,应改用SSH:

ssh://user@host/path/to/repo.git

在主机上需要一个有效的SSH帐户,但除此之外,Git还支持通过SSH进行开箱即用的身份验证访问。


git remote 命令常用子命令

git remote 命令是许多需要附加“子命令”的 Git 命令之一。 下面是对常用 git remote子命令的介绍。

ADD <NAME> <URL>

在 ./.git/config 中添加一条记录,该记录是为名称为 name <NAME> 的远程链接添加远程url<URL>

如果后面跟上-f选项,则在创建远程记录后立即进行 git fetch 操作。

如果后面跟上--tags选项,则在创建远程记录后立即进行git fetch操作,并且从远程仓库中导入标签。

RENAME <OLD> <NEW>

更新 ./.git/config 以将记录 <OLD> 重命名为 <NEW>。 更新所有远程跟踪分支和远程的配置设置。

REMOVE <NAME>
# 或者
RM <NAME>

修改 ./.git/config 并删除名为<NAME>的远程文件。将删除所有远程跟踪分支和远程跟踪的配置设置。

GET-URL <NAME>

输出远程记录的 URL。

SHOW <NAME>

输出有关远程<NAME>的高级信息。

PRUNE <NAME>

删除<NAME>远程存储库中不存在的任何本地分支。

添加远程仓库

git remote add 命令将创建一个到远程存储库的新连接记录。 添加远程记录后,我们将能够在其他 Git 命令中用新添加的远程仓库链接的名称对远程仓库进行pushpull等操作。

$ git remote add fake_test https://github.com/onmpw/JYPHP.git;

更详细的添加远程仓库的介绍可以参考 git remote 操作——一个项目多个远程仓库 这篇文章

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git remote 远程仓库链接管理 的相关文章

  • ARM 系统调用的接口是什么?它在 Linux 内核中的何处定义?

    我读过有关 Linux 中的系统调用的内容 并且到处都给出了有关 x86 架构的描述 0x80中断和SYSENTER 但我无法追踪 ARM 架构中系统调用的文件和进程 任何人都可以帮忙吗 我知道的几个相关文件是 arch arm kerne
  • 退出 bash 脚本但保持进程运行

    我正在运行服务器 需要使用参数执行以下命令 这些脚本目前工作得很好 但问题是当我运行脚本时我无法返回到控制台 它在控制台中保持运行 如果我强行停止它 那么该过程也会停止 我想继续运行该进程并返回到控制台 bin sh php home st
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • 如何忽略Git中以数字开头的文件?

    在某个文件夹中 我有名为foo jpg bar png等等 我想将它们保留在版本控制中 除了那些命名为1 baz png 2 zaz jpg等 因为它们实际上是生成的 我应该添加什么条目 gitignore 正则表达式如 0 9 似乎不起作
  • gdb 错误 - 文件不是可执行格式:无法识别文件格式

    我正在尝试使用 gdb 调试某个名为 xdf 的程序 但是当我运行 gdb xdf 时 出现以下错误 home nealtitusthomas X ray astronomy heasoft 6 24 x86 64 pc linux gnu
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • Visual Studio 2013删除已删除的git分支

    我遇到这个问题 在 VS2013 中 当我从源创建一个新分支时 源分支的下拉列表列出了曾经创建的所有分支 这包括长期从本地存储库和远程 源存储库中删除的分支 如何删除已删除的分支 Visual Studio 将它们保存在本地缓存中 您可以从
  • 子 git 存储库作为主存储库的子集

    我正在寻找一种方法来设置 git 存储库 其中包括来自较大存储库的文件子集 并从该主存储库继承历史记录 我的主要动机是能够通过 GitHub 共享代码子集 我目前通过单个 git 存储库管理我的研究相关 主要是 Matlab 代码 代码本身
  • 忽略提交之间 git-diff 的*所有*空白更改

    我正在检查代码库并修复空白奇怪之处并通常纠正缩进等事情 并且我想确保我没有无意中进行任何其他更改 所以我正在做git diff w显示所有已更改文件中的差异 同时忽略空白差异 问题是这实际上并没有忽略all空白差异 至少是什么I认为仅仅是空
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123
  • 全局 git 配置数据存储在哪里?

    使用时git config global要进行设置 它将写入哪个文件 Example git config global core editor blah 我在这些地方找不到它 C Program Files Git etc gitconf
  • 如何在 git 中删除 subversion 远程?

    我有一个最初使用 git svn 创建的 git 存储库 现在我有一个推送到的 git 服务器 但 svn 存储库已丢失 我可以删除 svn 远程吗 如何 您可以编辑 git config文件并删除与要删除的遥控器关联的部分 您要删除的行可
  • Gradle 1.3:build.gradle 不构建类

    这里有一个新问题 我有一个 build gradle 文件apply plugin java在其中 并与 java 项目 包关联 当我跑步时gradle build从命令行我得到 compileJava UP TO DATE process
  • Git 子模块在 Windows 上更新缓慢

    Git 子模块在 Windows 上似乎非常慢 为了测试性能 我创建了 3 个裸存储库并向它们提交了 3 条独立消息 未存储文件 然后 我将每个裸存储库作为子模块添加到新的 git 存储库中 并执行子模块更新 花费了 5 秒多的时间 当使用
  • git push origin 分支名总是推送到 master

    我搜索了一下 但似乎找不到答案 在我可以访问的两个盒子上 当我执行 git push dry run origin mytestbranch 时 我得到以下结果 To email protected cdn cgi l email prot
  • 错误:NVIDIA-SMI 失败,因为无法与 NVIDIA 驱动程序通信

    NVIDIA SMI 抛出此错误 NVIDIA SMI 失败 因为无法与 NVIDIA 通信 司机 确保安装了最新的 NVIDIA 驱动程序并且 跑步 我清除了 NVIDIA 并按照提到的步骤重新安装了它here https askubun
  • emacs 临时文件的 .gitignore 正则表达式

    我正在尝试 gitignore emacs 临时 自动保存文件 我在用着 在我的 gitignore 中 But git add A在子文件夹中运行仍然给我 new file make collections py new file nor
  • 无关的库链接

    我有一个可能有点愚蠢的问题 因为我很确定我可能已经知道答案了 假设你有静态库A 动态共享库B和你的linux下的程序C 假设库 A 调用库 B 中的函数 并且您的程序调用库 A 中的函数 现在假设 C 在 A 中调用的所有函数都不使用 B
  • 如何通过代理将套接字连接到http服务器?

    最近 我使用 C 语言编写了一个程序 用于连接到本地运行的 HTTP 服务器 从而向该服务器发出请求 这对我来说效果很好 之后 我尝试使用相同的代码连接到网络上的另一台服务器 例如 www google com 但我无法连接并从网络中的代理

随机推荐

  • SQLServer 中实现类似MySQL中的group_concat()函数的功能

    SQLServer中没有MySQL中的group concat函数 可以把分组的数据连接在一起 后在网上查找 找到了可以实现此功能的方法 特此记录下 SELECT a stuff SELECT b FROM tb WHERE a t a F
  • STM32 USB_SPI_FLASH 简易U盘设计

    这是大三下学期EDA实训的内容 设计制作了一个简易的U盘 主要涉及STM32单片机 W25Q128闪存芯片 电路板绘制 文件系统移植等内容 发布出来供大家参考 仅供学习交流使用 实验步骤仅供参考 转载请注明原文链接 https blog c
  • java数据传到前端页面_02 前端页面数据传递到后台java

    本文将阐述如何将前端页面数据传递到后台java代码 1 环境约束 win10 64位操作系统 idea2018 1 5 jdk 8u162 windows x64 spring4 2 4 前提约束 操作步骤 基本类型传输 RequestMa
  • Android使用AES加解密

    AES为对称加密 加解密用一套秘钥 秘钥自己随便定义 长度必须为16 或 32 个字符 1 AES工具类 AES 对称加密算法 加解密工具类 RequiresApi api Build VERSION CODES KITKAT public
  • getline()与get()

    1 getline getline 函数读取整行 通过换行符来确定输入结尾 然后丢弃换行符 1 作为istream中的类方法 char name 20 cin getline name 20 把一行读入到name数组中 这行字符不超过19个
  • python opencv 同窗口显示多个图像

    为了便于比对图像处理前后的效果 特别是算法处理前后的效果图 我们需要同时显示多张图片 这里采用opencv图像拼接的方法来实现我们想要的效果 1 定义函数show multi img 定义图片显示函数show multi img 共包括5参
  • Android:Serializable和Parcelable的持久化保存

    转自 https www cnblogs com duoshou articles 8856111 html 前言 Serializable和Parcelable能够将对象序列化 使之能够在一些特殊场景中进行传输 再进行数据的恢复 Seri
  • uhd驱动安装(usrpB210,usrpX310等)

    sdr技术与设备介绍 参考博文地址 上述博文介绍了什么是SDR技术 以及sdr设备的分类应用 问题描述 使用sdr设备 usrpx系列 usrpb系列 的准备 驱动 镜像 方案一 推荐方案 资源下载地址 一个UHD源码 一个UHD对应的镜像
  • 华灯初上

    华灯初上老城楼 将军夜赏新兜鍪 宝剑久藏不曾试 兵书战策俱成空
  • 大数据技术原理——期末复习spark

    1 Spark的基本概念 RDD DAG Executor 应用 任务 作业 阶段 RDD 是Resillient Distributed Dataset 弹性分布式数据集 的简称 是分布式内存的一个抽象概念 提供了一种高度受限的共享内存模
  • Aspose最版本aspose-words:jdk17:23.6 版本,代码分析心得

    Aspose最版本aspose words jdk17 23 6 版本 代码分析心得 aspose 为收费软件 以下仅仅用于学习技术 请勿做任何商业用途 如果需要请到官网购买正版 本文的逆向分析参考了了博客 https blog csdn
  • CAP定理含义

    分布式系统 Distributed System 最大的难点就是各个节点的状态如何同步 CAP定理就是这方面最基本的定理 也是理解分布式的起点 同时也是 NoSql数据库的基石 一 分布式的三个指标 1 Consistency k n s
  • STM32学习笔记——HC05

    STM32 HAL库 CubeMX串口通讯HC 05 前言 软件及硬件准备 硬件连接 蓝牙模块调试 CubeMX配置 keil软件编写 实验 注意事项 源码及注意事项2023 3 11 前言 我所使用的开发板为STM32F405RG 蓝牙模
  • C++学习(四六二)Parsing of CMake project failed: Connection to CMake server lost.

    环境 Qt5 12 cmake3 12 64位 工程为 原因分析 可能是版本不一致 qt工程为32位 cmake是64位的 将cmake换3 1 32位 就可以了
  • UniCode 下char*转CString ,利用MultiByteToWideChar进行转换,中文乱码的解决方案

    使用A2W A2T这些宏函数是常见的方法 但是中文会乱码 所以采用MultiByteToWideChar进行转换 计算char 数组大小 以字节为单位 一个汉字占两个字节 int charLen strlen sText 计算多字节字符的大
  • C++PrimerPlus 第五章 循环和关系表达式 - 5.1 for循环

    C PrimerPlus 第五章 循环和关系表达式 5 1 for循环 5 1 for循环 5 1 1 for循环的组成部分 5 1 1 1 表达式和语句 5 1 1 2 非表达式和语句 5 1 1 3 修改规则 5 1 2 回到for循环
  • osgEarth的Rex引擎原理分析(五十二)CGCS2000与WGS84坐标系的比较

    目标 四十六 中的119 文章 2000中国大地坐标系及其与WGS84的比较 对此有详细的比较 https max book118 com html 2017 0614 114928909 shtm 结论是 实现上相容的 仅在扁率上有微小差
  • 数据挖掘导论课后习题答案-第三章

    最近在读 Introduction to Data Mining 这本书 发现课后答案只有英文版 于是打算结合自己的理解将答案翻译一下 其中难免有错误 欢迎大家指正和讨论 侵删 第三章 优点 第一 颜色可以很容易地区分不同的部分 第二 看起
  • Less 使用介绍

    1 相关网站 Less 中文网 http lesscss cn W3Cschool Less 教程 https www w3cschool cn less Less 在线编译 https lesstester com 2 Less是什么 L
  • Git remote 远程仓库链接管理

    SVN 使用单个集中仓库作为开发人员的通信枢纽 通过在开发人员的工作副本和中央仓库之间传递变更集来进行协作 这与 Git 的分布式协作模型不同 后者为每个开发人员提供了自己的仓库副本 并具有自己的本地历史记录和分支结构 用户通常需要共享一系