【问题标题】:Sharing the same repository between two projects using SourceTree使用 SourceTree 在两个项目之间共享相同的存储库
【发布时间】:2017-07-25 12:25:49
【问题描述】:

我正在尝试找出是否可以使用 Git/SourceTree 在两个项目之间共享同一个存储库。

我有两个站点,它们都有自己的存储库,都有一个插件文件夹。目前,我对一个插件应用的任何更改,我都必须对另一个站点上的插件做同样的事情。

我现在只为我的插件(即 plugFolder1/2/3)创建了第三个 repo,我没有包含 file1.asp、file2.asp、.gitIgnore,因为它们是网站独有的。

是否可以共享我的插件存储库并将其内容拉到 siteA/B 插件文件夹。这样我就可以在他们的接受站点中对我的插件进行更改,并将更改提交回插件仓库以供其他站点拉取。

我查看了子模块和子树,当我尝试通过 SourceTree 添加它们时,我不明白我如何能够将插件仓库中的内容拉到我的站点插件文件夹中。

我从未在 GIT 中使用过任何复杂的东西,我不想做错。

当前设置

**SiteA**
index.asp
someOtherFile.asp
 > plugins
    .gitIgnore
    file1.asp
    file2.asp
    plugFolder1
    plugFolder2
    plugFolder3

**SiteB**
index.asp
someOtherBFile.asp
 > plugins
    .gitIgnore
    file1.asp
    file2.asp
    plugFolder1
    plugFolder2
    plugFolder3

预期设置

【问题讨论】:

  • 您可以为开发人员创建一些规则,如下所示: 为站点创建一个文件夹,而不是在其中放入两个并行文件夹 - 插件和代码。在插件内部,克隆 repo “插件”,在代码内部,为您的项目克隆 repo。
  • 这是不可能的,因为结构必须保持如上所述。
  • 有人对此有任何想法吗?

标签: git git-submodules atlassian-sourcetree git-subtree


【解决方案1】:

您可以克隆您的site* 存储库并将plugins 文件夹放在.gitignore 文件中site* 的根目录中。像这样的:

SiteA
  .gitignore
  plugFolder1/
    #cloned content for plugin repo
  plugFolder2/
    #cloned content for plugin repo
  plugFolder3/
    #cloned content for plugin repo
  file1
  file2...

关于 git 忽略文件(SiteA 的根目录)

plugFolder1/
plugFolder2/
plugFolder3/
#Binaries, editor cache, etc...

【讨论】:

  • 我已经编辑了我的原始问题并添加了一张图片,说明我希望使用 SourceTree 可以实现什么。
  • 我已经尝试了你的建议,至少从我的理解来看,但它没有奏效。在我通过 shell 的 SiteA 中,我做了以下但没有奏效; git clone sitePluginsRepo.com temp mv temp/.git plugins/.git rm -rf temp
  • 有谁知道我该如何解决我遇到的问题,我是否要求一些无法实现的事情?
猜你喜欢
  • 2021-07-22
  • 2013-09-07
  • 1970-01-01
  • 2022-01-06
  • 2020-07-09
  • 1970-01-01
  • 2021-04-11
  • 2018-10-25
  • 1970-01-01
相关资源
最近更新 更多