gpt4 book ai didi

git - "git remote add"究竟是做什么的?

转载 作者:太空狗 更新时间:2023-10-29 12:50:16 29 4
gpt4 key购买 nike

我最近在开始从事的项目中接触到了 git,这鼓励我开始阅读 Scott Chacon 的在线版“Pro Git”。

书中有一节简要介绍了添加“远程存储库”的主题。由于 Git 是分布式 SCM,我知道使用 GIT 的常见情况是在本地计算机上“克隆”远程存储库并在本地副本上工作。当您完成更改并将所有更改提交到本地副本后,您就可以将更改“推送”到远程存储库,以便其他人也可以查看您的更改。

这让我想到了我的问题 - 根据我的理解,“git remote add”有效地“添加”了一个远程存储库作为我们稍后可以使用的速记符号。我不明白的是 - 由于我仅通过指定一个存储库 URL 进行克隆,因此如何在我的本地项目目录下添加多个存储库 URL?

准确地说,假设我使用

检查 Apache commons-lang 项目
git clone git://git.apache.org/commons-lang.git

这导致 GIT 将整个项目复制到我名为“commons-lang”的本地目录中。由于我只使用了一个 url 进行克隆,那么这里的“远程添加”是什么意思?这是否意味着同一个项目 (commons-lang) 可以托管在多个服务器上,或者我可以通过添加新的远程地址在本地项目中克隆一个新项目?

对于初学者般的问题语气表示歉意。只是想弄清楚我的事实。谢谢。

最佳答案

您可以使用 git remote add(来自“Git Basics - Working with Remotes”)添加任意数量的上游存储库地址。

克隆时,会为您添加一个,名为“origin”。

Does it mean that the same project (commons-lang) could be hosted on multiple servers,

是的,这是由于 Git 的分布式特性,因为推送和 pull 引入了发布工作流程 which is orthogonal 到 merge 工作流程。

or is it that I could clone a new project within my local project by adding a new remote address?

没有。您可以从不同的上游存储库中获取。

参见“Definition of “downstream” and “upstream””。

git remotes add 的一个经典场景是在 GitHub 上进行 fork :
参见“How do I merge locally a master and a fork in git?

remote add

  • origin 在 GitHub 上克隆您的分支时为您添加。
  • 但是您需要 git remote add upstream https://github.com/user/reponame 以便您的本地克隆与原始 repo 保持同步(hte one you不能直接贡献,这就是为什么你必须首先在 GitHub 上创建一个分支)。

关于git - "git remote add"究竟是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13786781/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com