如何使用 git 存储库跨项目组织共享代码/资产

2024-03-13

我有一个场景,其中基础项目由java代码和网站文件(jsp/html/javascript、模板、css、图像等)组成。

创建此基础项目的变体的原因如下:

a) 白标+定制

b) 基于此项目的新项目,但有附加功能(在 java 和 web 文件中)

基地项目
java

  • src/core

web

  • 模板

  • css

  • javascript

  • images

项目A(基于基地)
java

  • 源代码/核心

  • src/projectA 特定文件夹

web

  • 模板

  • css

  • javascript

  • images

  • 项目A特定文件夹

项目B(基于基地)
java

  • src/core

  • src/projectB 特定文件夹

web

  • 模板

  • css

  • javascript

  • images

  • ProjectB 特定文件夹

重要限制

a) 项目和项目共享基础项目中的大量代码

b) 除了拥有自己的文件和代码之外,ProjectA 和 ProjectB 还可以添加、修改或删除 web/template、web/css、web/image 文件夹中的文件 - 用于定制和白标签

c) 将来可以创建更多项目,如项目和项目

d) 当基础项目发生更改时,应该可以将更改反映到子项目中

e) 有时,项目 A/项目 B 中对公共文件所做的更改应折叠回基础项目中。

最初,我以为我将为基础项目和每个项目 A、B 等拥有单独的 git 存储库。但特别要记住上述限制,在我看来,git 子树或子模块方法都不起作用(由于明显的限制)

因此,我倾向于拥有一个存储库并使用“分支”方法,其中projectA和projectB将是分支,而base将是“主”。约束 (e) 在这种方法中效果如何?

在 git 中是否有更好的管理方法?


你的方法是base分支和每个子项目的分支听起来很合理。

然后就可以结帐了base and cherry-pick您需要从子项目中合并的提交(约束 e)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 git 存储库跨项目组织共享代码/资产 的相关文章

  • 如何损坏 Git 存储库?

    创建损坏的 git 存储库有哪些方法 有没有有趣的方法可以永久损坏 git 存储库 你能否削弱一个 git 存储库 使其行为有些正常 但会做一些奇怪的事情 我的兴趣来自于当有人担心他们是否真的创建了不可恢复的状态时 它通常很容易修复或至少可
  • “git rm --cached”、“git Restore --staged”和“git reset”之间有什么区别

    我遇到了以下三种方法来取消暂存由命令 git add 暂存的文件 git rm cached
  • 在 git 提交消息中使用任何 utf-8 字符是否安全?

    我发现使用 UTF8 字符 例如 很有用 请参阅here http www utf8icons com subsets dingbats 在提交消息中 重构 NewService 添加了更好的服务 OldServiceA 据我所见 它see
  • 使用 Subversion 进行部分提交

    鉴于我做的案例两个独立的变化 in one文件 例如 添加了一个新方法并更改了另一个方法 我经常不想提交这两项更改 因为one提交 但作为two独立承诺 在 git 存储库上我会使用互动模式 of git 添加 1 http linux d
  • 无法将 git add origin git@anything 与新的 git 目录一起使用

    我有一个项目 我正在生成许多提交 因此它占用的空间正在快速增长 由于我有一个 gitlab 页面来推送提交 因此我决定最好删除本地 git 目录中的这些旧提交 因为我始终可以从 gitlab 获取它们 为此 我只需删除本地 git 目录 然
  • 如何使用“gem install”命令从私有 GitHub 存储库安装 gem

    如何在本地安装托管在 GitHub 上的私人存储库中的 gem 特别是 我们通过gem install命令而不是在 Bundler 中使用 因为它是一个命令行工具 我尝试这样做 gem install githubname repo s h
  • Git 在推送代码时返回错误 403 [重复]

    这个问题在这里已经有答案了 一切都工作正常 直到我创建了一个新的 GitHub 帐户 当我尝试使用新帐户第一次将代码推送到 github 服务器时 出现以下错误 remote Permission to NEW USER NEW REPO
  • 当出现错误时如何删除远程分支?

    我尝试过以下命令 但失败了 git push origin next remote error denying ref deletion for refs heads next To blah git remote rejected nex
  • 如何在Windows上分离“Git bash”中启动的“git gui”?

    例如 我开始 git bash 我导航到某个目录 I start git gui 我关闭控制台窗口或按 Ctrl C Git gui 的窗口消失了 即使我用过git gui disown 即使当我按 Ctrl C 时它不在前台 如何正确分离
  • 从 github 中删除子项目提交

    我有两个存储库A and B 我错误地在我的机器上将仓库 B 克隆到了 A 内 我从存储库 B 中删除了所有代码 但是当我在源上从 A 推送并合并代码时 它还显示了子项目提交B在 Github 仓库上 我想从我的 master 上删除子项目
  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • 致命:不是 git 存储库(或任何父目录):.git [重复]

    这个问题在这里已经有答案了 当我尝试推送 github com 上的现有存储库时 当我输入命令时 网站提示我将其输入终端 我收到了以下致命错误消息 Not a git repository or any of the parent dire
  • 在centos上设置jenkins:ssh密钥和git的问题

    经历了很多问题 但似乎没有什么能解决我的问题 或者更准确地说 我不确定我是否正确地完成了整个事情 所以这里是 已安装centos 6 3操作系统 然后我按照以下指南安装詹金斯 https wiki jenkins ci org displa
  • 无法使用 git 推送或获取 [重复]

    这个问题在这里已经有答案了 我可以拉 但无法使用 git 版本 1 9 5 推送或获取 它突然开始给我以下错误 关于如何修复它有什么想法吗 git fetch fatal unable to access https email prote
  • 在 Azure DevOps 中为 Wix MSI 文件生成 GUID

    我正在为 Web 服务器应用程序和 Sitecore 前端应用程序设置 Wix 安装程序 我的问题并非特定于 Web 服务器或 Sitecore 我的问题是 Wix 以及如何使用它进行持续交付 1 Wix 需要每个文件和产品本身的 GUID
  • GIT - 推送到 (GitHub) origin master 没有任何作用

    我已经分叉了某人的 GIT 存储库 https github com nippysaurus toodledo objc 将其克隆到我的本地计算机 显示带有以下信息的来源 remote origin Fetch URL https emai
  • 如何禁用 GitHub 中的拉取请求?

    我试图了解如何禁用 github 中的 拉取请求 问题一 我们正在尝试使用变基工作流程 这意味着如果不是快速推进 那么使用拉取请求可能会有害 一种解决方案 为我想要禁用拉取请求的分支设置分支权限 或者将我添加为任何进入 master 的内容
  • 如何生成类似github的影响图?

    是否有一些程序 或者我错过的一些神奇的 git 插件 可以从 git 存储库获取影响图或类似的东西 而无需通过 github 就数据收集而言 我可以生成图表 我不确定从哪里开始编写自己的代码 我假设有一些标志我可以传递给 git log 来
  • 我可以忽略全局 .gitignore 吗?

    我的全局 gitignore 一般都很棒 但对于这个一次性项目 我不希望应用全局规则 如何删除这个怪异存储库的全局 gitignore 规则 在您的存储库中运行此命令 git config local core excludesfile f
  • 为什么 git-svn 应该积极搜索旧历史?

    当我运行 git svn clone s 时发生了一些奇怪的事情 尽管以下信息告诉我们不要惊慌 但我想知道为什么会出现这种 svn 错误 为什么这个路径不存在 是被别人删除了吗 如果是 为什么 git svn 应该积极搜索旧历史记录 Ini

随机推荐

  • Windows Phone IE 移动 bug 具有透明背景图像和底部绝对定位

    我在使用 WP IE 时遇到两个问题 透明背景图像的透明边框上有伪影 绝对定位的 div 到页面底部在浏览器导航栏和页面底部之间留下约 5px 的白色间隙 请注意 我使用 div 而不是 img 来处理CSS 视网膜图像替换 http co
  • 透明状态栏不适用于 windowTranslucentNavigation="false"

    我正在开发一个Activity我需要在运行 5 0 API 21 的设备上使导航栏不透明 并使状态栏透明 下面是我使用的样式 以及对我的问题的解释 AppTheme延伸Theme AppCompat Light NoActionBar
  • 从非托管 C 调用托管代码

    因此 经过大约一天半的时间 我的进展为零 我需要用 C 语言编写一个 DLL 用作现有应用程序的插件 DLL 必须由 Visual Studio 2008 编译器使用以下选项进行编译 cl DNT40 DPOMDLL DCRTAPI1 cd
  • MySQL 多 ID 查找

    我正在尝试向系统添加全文搜索 我想要编写的查询需要涉及多次查找 然后进行搜索 如果可能的话 我有一张教师表和一张科目表 teacherProfile teacherId int primary key subjectOneId int su
  • 读取时出现 Ruby CSV UTF8 编码错误

    这就是我正在做的 csv CSV open file name r 我用它来测试 line csv shift while not line nil puts line line csv shift end 我遇到了这个 ArgumentE
  • html中有vr(垂直规则)吗?

    我知道html中有hr 水平规则 但我不相信有vr 垂直规则 我错了吗 如果没有 为什么没有垂直规则 不 没有垂直规则 编辑 现在是 2021 年 我回答这个问题十二年后 我不再认为我原来的解释是正确的 原文解释 拥有一个没有逻辑意义 HT
  • 具有相同名称/路径的多个 cookie 的浏览器行为

    我对当存在多个具有相同名称和路径且对当前域有效的 cookie 时各种浏览器的行为感兴趣 例如 浏览器存储了这两个cookie key value path domain foo bar baz key value path domain
  • 为什么 svn import 选项无法检测文件重复

    如果我想签入 SVN 中已存在的同名文件 在这种情况下我将无法提交 例如 Name doc and name doc 但是 在这种情况下我将能够导入 这种情况甚至适用于文件夹名称 这可以防止将来进行结账操作 有没有办法防止文件或文件夹重复
  • 运行桌面版 libgdx 示例 gdx-invaders 时出现 java.lang.NoClassDefFoundError

    我正在构建 libgdx 的 gdx invaders 示例 有两个项目 gdx入侵者 基础项目 作为桌面 Java 应用程序运行gdx 入侵者 android项目 依赖于 gdx invaders 并作为 Android 应用程序运行 我
  • Golang反射:无法设置包装结构的接口字段

    我正在尝试实现一种方法 该方法可以更改可以具有任意结构的对象中的字段值 当我有指向结构的指针时 字段的遍历没有问题 但是 当我有一个接口不包装指向结构的指针而是包装结构本身时 我无法设法更改字段 简而言之 The following doe
  • 我什么时候必须声明 session_start(); ?

    所以我是 PHP 的初学者 所以我需要一些帮助 我正在尝试确定何时开始会议 我应该在用户首次注册时执行此操作还是在用户登录时执行此操作 另外 会话是否 通用 意味着当我检查会话时它会起作用还是我必须在所有页面中包含一个文件来检查某人是否有会
  • .NET 中的 DDD / 聚合

    我一直在阅读 Evans 关于 DDD 的书 并且正在思考应该如何在 NET 中实现聚合 目前 我只能想出一种方法 将聚合隔离在单独的类库中 然而 这似乎有点矫枉过正 我更愿意将所有域对象保留在一个库中 我想知道是否有不同的方法 1 lib
  • 使用 Criteria API 从 NHibernate 获取不同的结果集?

    我试图使用 NHibernate 中的 Criteria API 获得不同的结果 我知道使用 HQL 可以做到这一点 但我更喜欢使用 Criteria API 来执行此操作 因为我的应用程序的其余部分仅使用此方法编写 我找到这个论坛帖子 h
  • 使用 NEON 对 ARM 汇编中的四字向量中的所有元素求和

    我对组装相当陌生 尽管手臂信息中心通常很有帮助 但有时这些说明可能会让新手感到有点困惑 基本上我需要做的就是对四字寄存器中的 4 个浮点值求和 并将结果存储在单个精度寄存器中 我认为 VPADD 指令可以满足我的需要 但我不太确定 你可以尝
  • 如何从NLP Tree中提取元素?

    我正在使用NLP包来解析句子 我怎样才能从Tree创建的输出 例如 我想抓住名词短语 NP 来自下面的示例 library NLP library openNLP s lt c Really I like chocolate because
  • 在所有页面中正确包含 php 标头

    我会包含一个 php 标头 mysite com header php 在站点的所有页面中 怎样做才正确呢 有相关链接 这没有帮助 你可以这样做 include SERVER DOCUMENT ROOT header php
  • 侦听大多数端口时出现 Node.js EACCES 错误

    我正在测试一个应用程序 希望在heroku 上运行 但在本地也遇到问题 当它运行 http Server listen 时 它给我一个 EACCES 错误 但它只发生在某些端口上 所以 我在本地运行 joe joebuntu node gt
  • 尝试编写 C++ 包装函数时,无法在 Cython 中将 Numpy 数组转换为 OpenCV Mat

    我正在尝试实施cv cuda warpPerspective在 python2 中 有一篇关于如何做到这一点的非常精彩的文章 link https stackoverflow com a 42401559 7555390 我按照该帖子中描述
  • Jquery - 调暗整个页面并淡出一个 div 元素

    我正在尝试执行以下操作 单击链接会触发一个功能 该功能将显示一个 DIV page cover 使整个背景变暗 该 div 的 z 索引为 999 然后我想要另一个 div red 出现在暗淡的背景 淡出 显示上 并具有更高的 z inde
  • 如何使用 git 存储库跨项目组织共享代码/资产

    我有一个场景 其中基础项目由java代码和网站文件 jsp html javascript 模板 css 图像等 组成 创建此基础项目的变体的原因如下 a 白标 定制 b 基于此项目的新项目 但有附加功能 在 java 和 web 文件中