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 操作——一个项目多个远程仓库 这篇文章

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

  1. Git操作:远程仓库(git remote)的添加、管理和删除

    这是你的git仓库,他已经添加了一个远程仓库,可以用git remote -v查看绑定的仓库列表,他会以<仓库名>  <仓库地址>的形式展示出来(一个仓库会显示两遍): $ g ...

  2. Git 远程仓库的管理和使用

    要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库 ...

  3. Git 远程仓库分支管理

    目录 目录 速查表 关联远程代码仓库 克隆远程仓库 分支管理 创建分支 切换分支 合并分支 删除分支 解决冲突 速查表 指令 作用 git branch 查看分支 git branch newBran ...

  4. git使用——远程仓库(Remote repositories)

    前言 为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库. 远程仓库是指托管在因特网或其他网络中的你的项目的版本库. 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写. 与 ...

  5. [转]git修改远程仓库地址

    原文链接:http://www.cnblogs.com/lazb/articles/5597878.html 问:Coding远程仓库地址变了,本地git仓库地址如何更新为最新地址 git修改远程仓库 ...

  6. git从远程仓库拉取内容或向远程仓库上传内容

    一.将本地文件上传到远程仓库步骤 git init git add . git commit -m "初始框架" git remote add origin https://git ...

  7. git修改远程仓库关联

    公司搬移, 作为git仓库的服务器IP地址变了. 本地代码挺多,重新检出太占时间,可以修改一个什么配置让我本地仓库和新的远程仓库建立关联吗, 答案是肯定的! 方法有很多,这里简单介绍几种: 以下均以项 ...

  8. 为git创建远程仓库

    首先生成ssh公钥: 将公钥添加到git: 测试秘钥是否通过: 然后就可以到web界面看到标注的地方被绿了: 但是我的没有绿,不知道为啥,难道没有女朋友的原因吗? rm -rf .ssh 重来好几遍都 ...

  9. git基础-远程仓库的使用

    远程仓库的使用 为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库. 远程仓库是指托管在因特网或其他网络中的你的项目的版本库. 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以 ...

随机推荐

  1. PAT A1060——string的常见用法详解

    string 常用函数实例 (1)operator += 可以将两个string直接拼接起来 (2)compare operator 可以直接使用==.!=.<.<=.>.>= ...

  2. Linux下Zabbix5.0 LTS添加自定义监控项

    自定义监控项 zabbix本身提供了很多可选的监控项,可以满足绝大部分的监控需求.有时候由于业务需求,需要自定义监控项. 下面以创建mysql自定义监控项为例,分享如何创建zabbix自定义监控项. ...

  3. 【Mysql】深入理解 MVCC 多版本并发控制

    MVCC MVCC(Multi-Version Concurrency Control),即多版本并发控制.是 innodb 实现事务并发与回滚的重要功能.锁机制可以控制并发操作,但是其系统开销较大, ...

  4. 洛谷 P6570 - [NOI Online #3 提高组] 优秀子序列(集合幂级数+多项式)

    洛谷题面传送门 首先 \(3^n\) 的做法就不多说了,相信对于会状压 dp+会枚举子集的同学来说不算困难(暴论),因此这篇博客将着重讲解 \(2^nn^2\) 的做法. 首先如果我们把每个 \(a_ ...

  5. Bedtools genomecov 计算覆盖度

    简单说明: 从2.28.0版开始,bedtools使用htslib库支持CRAM格式 除了BAM文件,bedtools默认所有的输入文件都以TAB键分割 除非使用-sorted选项,bedtools默 ...

  6. 36-Same Tree

    Same Tree My Submissions QuestionEditorial Solution Total Accepted: 126116 Total Submissions: 291884 ...

  7. PHP socket Workerman实用的php框架

    PHP socket Workerman是一款开源高性能异步PHP socket即时通讯框架. 非常好用的一款框架,可以支持在线聊天,长连接等 用法 官方 https://www.workerman. ...

  8. 也谈string.Join和StringBuilder的性能比较

    前几天在园子里面看到一篇讲StringBuilder性能的文章.文章里面给出了一个测试用例,比较StringBuilder.AppendJoin和String.Join的性能.根据该测试结果,&quo ...

  9. javaSE高级篇2 — 流技术 — 更新完毕

    1.先认识一个类----File类 前言:IO相关的一些常识 I / O----输入输出 I     输入     input 0    输出     output I / o 按数据的流动方向来分- ...

  10. Vue3 中有哪些值得深究的知识点?

    众所周知,前端技术一直更新很快,这不 vue3 也问世这么久了,今天就来给大家分享下vue3中值得注意的知识点.喜欢的话建议收藏,点个关注! 1.createApp vue2 和 vue3 在创建实例 ...