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. Maven 依赖调解源码解析(四):传递依赖,第一声明者优先

    本文是系列文章<Maven 源码解析:依赖调解是如何实现的?>第四篇,主要介绍依赖调解的第二条原则:传递依赖,第一声明者优先.请按顺序阅读其他系列文章,系列文章总目录参见:https:// ...

  2. [bzoj1593]旅馆

    用线段树维护区间中最大的一段连续的1,以左端点为左端点最大的一段连续的1,以右端点为右端点最大的一段连续的1,然后就可以支持区间修改和查询了 1 #include<bits/stdc++.h&g ...

  3. /dev/random 和 /dev/urandom 的原理

    /dev/null 是一个特殊的设备文件,它丢弃一切写入其中的数据 可以将它 视为一个黑洞, 它等效于只写文件, 写入其中的所有内容都会消失, 尝试从中读取或输出不会有任何结果,同样,/dev/nul ...

  4. Java-ASM框架学习-java概念转字节码概念

    前言 当我们操作字节码的时候,都是和字节码的概念打交道,这让我们很困扰,asm也想到了这点,为了方便,它提供了一个可以把java概念转化为字节码概念的类 import org.objectweb.as ...

  5. cube+FreeRTOS联合开发采坑笔记

    加了看门狗之后不断重启的可能 原因: 任务容量分配不足,在"FreeRTOSConfig.h"的配置中,有个configTOTAL_HEAP_SIZE中将堆大小调到最大.

  6. freeswitch APR库哈希表

    概述 freeswitch的核心源代码是基于apr库开发的,在不同的系统上有很好的移植性. 哈希表在开发中应用的非常广泛,主要场景是对查询效率要求较高的逻辑,是典型的空间换时间的数据结构实现. 大多数 ...

  7. Stupid && 祖传Fortran代码救赎之路(编译Dll)

    Stupid && 祖传Fortran代码救赎之路(编译Dll) gfortran编译动态库 在Windows平台下,Intel Fortran安装过于庞大且费事(现在集成到OneAP ...

  8. 贪心/构造/DP 杂题选做

    本博客将会收录一些贪心/构造的我认为较有价值的题目,这样可以有效的避免日后碰到 P7115 或者 P7915 这样的题就束手无策进而垫底的情况/dk 某些题目虽然跟贪心关系不大,但是在 CF 上有个 ...

  9. ARC 119 补题记录

    这把感觉质量很高. \(E\) \(E\)比较简单所以先写个\(E\),考虑就一个置换操作来说改变的只有两端的值. 考虑\(|a_i - a_{i - 1}|\)变成区间,则我们考虑分类讨论,发现只有 ...

  10. Codeforces 1340F - Nastya and CBS(分块+哈希)

    Codeforces 题面传送门 & 洛谷题面传送门 首先看到这样的数据范围我们可以考虑分块,具体来说,对于每一块我们记录其中的括号是否能完全消掉,以及对其进行括号相消之后的括号序列(显然是一 ...