问题标签 [git-slave]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
817 浏览

git - 如何在不使用分支的情况下在同一个基本目录中创建两个 Git 存储库?

我们目前正在将我们的 Magento Enterprise(电子商务 Web 应用程序)文件移动到 Git 中。httpdocs/.gitignore 文件包含以下内容:

在初始化、提交和推送 httpdocs/ 之后,我们的第一个 Git 存储库就成功创建了。我们现在想将上述两个目录放入它们自己的单独存储库中。(一起,在一个存储库中!)我们在这里遇到的问题是这些目录共享一个公共根目录,该根目录已经包含我们的第一个 Git 存储库;即:httpdocs/

我已经读过子模块功能可以将其他存储库嵌入现有树的子目录中。但是,例如kernel.orggit-scm.com上的文档似乎非常复杂,以至于我怀疑这是否真的是前进的道路。我们所需要的只是两个独立的存储库,它们恰好具有相同的根。

我读过的另一种可能的解决方案可能是从 app/design/frontend/company/website/ 初始化并添加 skin/frontend/company/website/ 作为移植点,以便将这些目录连接在一起。然而,再一次,这似乎过于复杂,并且打算在从另一个修订控制系统迁移到 Git 时使用。

0 投票
2 回答
1021 浏览

git - 使用从中进行提交的 Git 子模块时有哪些选项?

在工作中,我们正在开发十几个 Java OSGi 包,每个包都有自己的 git 存储库。从长远来看,所有捆绑软件都将相互独立,这证明了单独的存储库是合理的——尽管现在我们仍然经常同时修改其中的几个。

当我们发布产品(包含所有捆绑包)时,会在每个捆绑包中创建一个新分支,这有点麻烦。因此,我们正在考虑使用 git-submodule 来减轻痛苦(类似于git submodule foreach <cmd>)。

因此,我们想要的设置将是一个主项目Product,以及每个包的子模块:

现在,我花了几个小时阅读我能找到的关于子模块的所有内容,我明白如果我在 中修改内容BundleA,我必须在 中提交BundleA、推送,然后提交子模块更改Project并再次推送。

这显然听起来不是 git-submodule 最初被设计为使用的方式。像这样使用它是否违反最佳实践?还是听起来像是首选替代方案的情况?

  • 准系统 git-submodule 使用
  • 使用现有的“git wrapper”:
  • 编写我自己的简单 bash 脚本来批处理 OSGi 包

欢迎任何其他建议。

0 投票
4 回答
27137 浏览

git-submodules - Git 子模块的替代品?

我觉得使用 Git 子模块对我的开发工作流程来说有点麻烦。我听说过 Git 子树和 Gitslave。

  • 是否有更多工具可用于多个存储库项目,它们如何比较?
  • 这些工具可以在 Windows 上运行吗?
0 投票
2 回答
1709 浏览

git - Git:组合多个存储库

我们为可用于新项目的基本设置创建了一个存储库。这个基本设置是“进行中的”,所以这方面的开发正在进行中。当有一个新项目时,我们希望进行基本设置并使用它。新项目是基本设置中的模块。

由于正在开发基本设置,我们希望将更新推送到其他存储库。我们如何用 Git 做到这一点?

我在 Gitslave 上读过一些东西。这个好吗? http://gitslave.sourceforge.net/

0 投票
2 回答
2278 浏览

windows - 用于 Windows 的 git-slave

git-slave 文档只有以下关于在 Windows 上安装的不太有用的评论:

当我尝试下载并运行“nmake install”时,我得到了同样神秘的错误:

有没有人有这方面的经验并且可以指出我正确的方向?

0 投票
1 回答
813 浏览

git - 将 Git Slave 与 Jenkins 集成

将 git-slave 与 jenkins 集成的最佳方法是什么?如果不编写完整的插件,是否可以做到这一点?有什么捷径可以走吗?我最感兴趣的是复制:

(1) 根据对 git-slave git 存储库或其子项的更改轮询并启动构建。

(2) 打印出自上次构建以来所有存储库中的提交。

只是看看有没有其他人在这方面做过任何事情。我喜欢 git-slave,因为对于普通 scm 用户来说,它似乎比其他多存储库方法(即 git submodule、git subtree)更不容易出错。我看到 repo 有一个插件,但不幸的是 repo 与 gerrit 联系得太紧密了。

0 投票
2 回答
3329 浏览

git - 多个 git 存储库的最佳实践

我有大约 20 个不同的存储库。许多是独立的并作为库编译,但其他一些在它们之间具有依赖关系。依赖解析和分支很复杂。

假设我有一个只聚合所有其他存储库的超级项目。它专门用于运行测试——这里没有真正的开发。

现在,要为每个(a)开发特定功能或修复,尤其是需要特定版本的项目来编译或运行的功能或修复(b v2.0c 3.0),我必须创建一个新分支:

对于b,可能还需要其他东西,例如a v0.9and c v3.1

在实现涉及功能分支、修补程序分支、发布分支等的常见 git 工作流时,这变得更加复杂和复杂。我被建议(并建议不要)使用git-submodules, git-subtree, google's git-repo,git-slave等。

对于这样一个复杂的项目,我该如何管理持续集成?

编辑

真正的问题是如何在不必模拟所有其他依赖项目的情况下运行测试?特别是当所有项目可能使用不同的版本时。 在 git 子模块中提交后触发 Jenkins 测试

0 投票
1 回答
264 浏览

windows - 在cygwin上安装Git slave

是否可以让 git slave 在 windows 下的 cygwin 上运行。我尝试使用 cygwin 运行make& make install,但是make install产生了

有什么建议么?

0 投票
1 回答
4617 浏览

git - git submodules , gitslave, git subtree 或更简单的解决方案

我们有一个包含 N 个文件夹的 git 存储库。

我们希望与不同的合作者共享不同的文件夹。每个协作者应该只能访问他允许的文件夹子集。使用 git 实现这一目标的“好”方法是什么?


答案是使用git submodules. 但是看完这篇文章后: https ://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/ 我明白你需要对git有很好的掌握(这不是我们的合作者的情况),以便在使用时不会出现问题git submodules

我阅读了一些可能的替代方案,例如gitslave, 和git subtree. gitslave似乎是一个很好的解决方案,但在我看来仍然是一个复杂的解决方案。

这是我的简单解决方案,我想知道它是否有一些非常糟糕的缺点:

- 每个文件夹都有一个简单的存储库和 Repo 的存储库。然后在主 Repo 中添加 Folder1、...、FolderN 中的所有文件。

-globalpush 脚本:

-globalpull 脚本:

该解决方案的优点是:

1 - 每个人都能理解的简单解决方案。

2 - 可以独立授予每个文件夹的访问权限。

3 - 对于主要开发人员(有权访问 Repo),存储库 Repo 是独立的,包含所有历史记录(以防 Folder1、...、FolderN 的存储库出现问题)。

4 - 当主要开发人员使用给定描述进行提交时,将为所有文件夹存储库创建具有相同描述的提交,即使是那些没有修改的(--allow-empty),这当然不是完美的,但是帮助跟踪主要开发人员提交的版本。

编辑 :

似乎有一个我不知道的新命令git subrepo......

0 投票
1 回答
378 浏览

git - 如何在 gitslave 的子存储库中签出分支?

我有一个包含多个子存储库的超级存储库。我想将其中一个子存储库更改为另一个分支。但是,当我git checkout过去这样做时,在gits status子回购以某种方式回到主分支之后。更改子存储库上的分支的正确方法是什么?