问题标签 [git-subrepo]

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 投票
10 回答
78994 浏览

git - 一个目录中有两个 git 存储库?

是否可以在一个目录中有 2 个 git 存储库?我不认为,但我想我会问。基本上,我想检查我的主目录配置文件(例如 .emacs),这些文件应该在我工作的所有机器上都是通用的,但是有一个本地文件(例如 .emacs.local)的第二个存储库,其中包含机器特定的配置。我能想到的唯一方法是将本地配置放在子目录中,并从主 git 存储库中忽略该子目录。还有其他想法吗?

0 投票
4 回答
27137 浏览

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

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

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

version-control - 删除 git subtree 添加 git subrepo

我有一个 Git 存储库,项目的modelMin MVC)被删除并存放到一个单独的存储库中。然后我将它与git-subtree. 所以我有一个

models分支,我认为是远程跟踪分支remotes/models/master remotes/models/models

现在我只想完全消除这个子树的东西,所以我可以把它移回一个常规的完整仓库。所以我可以开始使用 git-subtree。现在如何删除 git-subtree 的任何遗物?

我试图删除本地分支和远程分支。但我无法删除遥控器/模型/主控git push models --delete master。它说:

编辑:

我想我只是想删除对该model仓库的引用。我可以稍后从 Bitbucket 手动删除该远程项目。

0 投票
2 回答
33 浏览

git - 版本“入门工具包”以在其他项目中使用

我所有的项目都具有相同的结构、基本文件(每个都包含一些代码)。

我想要的东西:

  • 版本此代码;
  • 在其他项目中使用它;
  • 能够在那些项目中更新它;
  • 仅在这些文件中添加代码,特定于每个项目(不需要删除或更改现有代码)。

我做了一些研究。使用包管理器不适合我的需要,因为我想将代码添加到包中。然后我找到了 git 子模块和子树,后者似乎可以完成这项工作。

你怎么看待这件事 ?我是通过选择子树走在正确的道路上还是有更好的方法?我应该使用完全不同的解决方案吗?

多谢你们

[编辑]

更多信息:

这个“入门工具包”有点像一个框架。我正在考虑以一种不需要在其他项目中编辑其文件但会增加约束的方式来构建它。

  • 我认为子模块不适合,因为我需要处理代码;
  • 每个项目都需要自己的仓库。
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 投票
0 回答
1649 浏览

git - npm install 克隆到裸仓库,致命:无法访问

我的 Droplet 服务器有问题。我的package.json有来自 git 存储库的包,如下所示:

当我将其更改为:

在 npm 安装之后, npm仍在尝试克隆 http://git.pff.com.pl:8081/angular2-shared/Bootstrap4Eniro.git ,它在packagee.json中不再存在......我得到了NPM ERR

为什么会这样?我已经清理了 npm 缓存,删除了 .git、.npm 但我仍然收到这个烦人的错误。这是因为我使用的是droplet吗?

我在用 :

  • npm 3.9.6(在 2.xx 上同样的问题)
  • Ubuntu 14.04.4 LTS
  • 混帐 1.9.1

更新和解决方案

我的聪明朋友发现我们在 node_modules 中的一个 npm 公共包仍然有

在 package.json “依赖项”中。将所有内容放入“devDependencies”后,它就可以工作了......

0 投票
1 回答
2150 浏览

git-svn - 带有嵌套 svn:externals 的 svn 到 git 迁移

从带有 svn 外部的 svn 迁移到 git。每个 svn externals 可能有它自己的 svn:externals。这里没有我发现有用的如何将带有外部的 svn 迁移到 git 的指南。每个分支都可能有自己的分支标签主干。迁移整个存储库的最佳方法是什么?我正在查看主存储库的 git svn clone 添加 git 子模块,每个外部克隆也是如此。但是由于外部是嵌套的,我不知道什么是最好的解决方案。至今使用的脚本:

0 投票
1 回答
81 浏览

git - 包括其他分支作为子目录?

我正在尝试建立一个branchA具有子文件夹A和的分支B,但B包含branchB.

我一直在看submodulessubtreessubrepos,但我无法弄清楚我正在寻找什么。

为了防止这成为 XY 问题,我的总体情况是:我正在开发一个 HTML5/JS 游戏,我希望能够在 Github Pages 上对其进行测试。
所以我希望分支/子目录gh-pages/play包含分支master

0 投票
1 回答
158 浏览

git - 跟踪父级中的子存储库,保留拉取能力

我无法弄清楚子树是否是这里的答案;我真的只知道子模块(可能)不是。

  • 我有一个存储库./parent(它在 GitHub 上是远程的)
  • 我想将远程存储库克隆到./parent/child
  • 我想跟踪我在子存储库中所做的更改作为父级的历史记录
  • 我希望能够从子存储库的远程提取更改(并可能压缩它们)
  • 不需要将更改推送到孩子的遥控器;它将是仅拉动的。

我应该使用什么策略来管理这个?

用更简单的英语:我想将一个项目作为子项目包含在另一个项目中,并且我想根据需要修改子项目的来源,跟踪父项目中的更改(就好像它只是另一个子目录一样)但仍然能够拉远程更改子项(进行更新时)

也许是描述问题的另一种方式;这将是一个带有两个遥控器的存储库,一个是推/拉,另一个是仅拉取其本地副本的子目录。

0 投票
1 回答
1520 浏览

git - 在父 git 存储库中创建多个 git 子存储库

我想创建一个父 git 存储库,其中将有多个 git 存储库,但我不希望父 git 存储库跟踪子存储库的所有提交。提交历史可以放在单独的子仓库中。我只是希望当我从父仓库拉出时,我希望所有子仓库都被拉出,当我推送父仓库时,所有子仓库提交的更改都应该被推送到服务器中它们各自的仓库。此外,当我们对任何子存储库进行一些更改时,它应该能够推送和拉取单个 git 存储库,并且下次拉取父存储库应该提供更新的存储库

我正在尝试使用子模块/子树,但无法实现。我听说过git subrepo但一直没能找到关于它的好教程