- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我最近在开始从事的项目中接触到了 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?”
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/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!