首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git remotes是如何工作的?

git remotes是如何工作的?
EN

Stack Overflow用户
提问于 2012-09-13 13:11:09
回答 2查看 94关注 0票数 5

如果我有一个受版本控制的主项目。

然后我为第三方插件添加了一个遥控器

git remote add myplugin <url>

然后我就可以做git pull myplugin master

然后它就会从遥控器上拉出变化。

现在假设我的项目设置为:

代码语言:javascript
复制
/
/index.php
/whatever

并将遥控器设置为

代码语言:javascript
复制
/
/whatever.php

当我打开遥控器的时候,我的结果是

代码语言:javascript
复制
/index.php
/whatever
/myplugin
/myplugin/whatever.php

这很好。

我想知道的是,如果我修改myplugin,

如果我发出git push myplugin master,推送的是什么?

它只会推送myplugin中的更改吗?或者远程服务器充当第二个存储库并提交整个存储库?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-13 13:32:31

只有当远程存储库已经包含git pull myplugin (而不是juut whatever.php)时,您才会在/myplugin/whatever.php中结束一个/myplugin/whatever.php

添加一个遥控器意味着拉取它的所有历史记录并将其合并到您的存储库中,或者将您的提交从所有存储库推送到遥控器中(不仅仅是来自本地“myplugin”的更改)。

你所描述的(只推送来自'myplugin‘的更改,或者仅在’myplugin‘中拉取提交)被称为。

代码语言:javascript
复制
 git submodule add url/myplugin myplugin

这将添加一个目录myplugin,您将在其中找到第二个嵌套的Git代码库,其行为与您在问题中所描述的一样。

它不只是一个新的遥控器,而是一个子模块url,用于在子目录中包含特定SHA1处的另一个存储库。

票数 6
EN

Stack Overflow用户

发布于 2012-09-13 13:15:16

遥控器确实像第二个存储库,因为它是一个……当您发出推送命令时,GIT会将已修改的内容复制到远程,有效地使其与本地存储库保持一致。

如果你问的是推送是否会遍历到子目录,那么答案是肯定的。

如果您询问是否会将尚未提交到本地存储库的更改推送到远程,则答案是否定的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12399758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档