【问题标题】:Being given zip archives with .git - how to integrate into own Git repository?使用 .git 获得 zip 存档 - 如何集成到自己的 Git 存储库?
【发布时间】:2015-03-01 19:23:25
【问题描述】:

我已经购买了一个 iOS 游戏模板并收到了源代码作为 zip-archive 包括作者开发者的 .git 子目录:

然后我创建了自己的 BitBucket 存储库。

我应该如何将新文件放在那里以及如何将文件的 Git 历史记录与我的新存储库的历史记录集成?

我应该在这里使用分支,谁的更改应该在“主”分支 - 我的还是他的?

【问题讨论】:

  • 您的预期工作流程是什么?您会将更改反馈给作者,还是现在您自己考虑自己?
  • 我的工作流程将是我将执行大部分未来的开发工作,但我想我会收到更多由原作者更改的 zip 存档(不仅针对我,而且针对所有人他的模板的买家)-我想知道如何处理未来的 zip 存档,如何将他的更改合并到我的?

标签: git bitbucket git-branch branching-and-merging


【解决方案1】:

也许,Git submodules 就是您要找的。​​p>

这意味着,您可以像这样将屏幕截图中的 Git 存储库集成到您的存储库中:

演示设置

我的项目存储库位于:

/Users/Me/Desktop/MyProject

您购买的iOS游戏模板库位于:

/Users/Me/Desktop/TemplateProject

您的存储库

git init
touch YourCodeFile1 # Just as example placeholder file
touch YourCodeFile2 # Just as example placeholder file

将 iOS 模板库集成为 Git 子模块

git submodule add /Users/Me/Desktop/TemplateProject
ls -l

drwxr-xr-x  5 Me  staff  170 Mar  1 12:06 TemplateProject
-rw-r--r--  1 Me  staff    0 Mar  1 12:03 YourCodeFile1
-rw-r--r--  1 Me  staff    0 Mar  1 12:03 YourCodeFile2

整合新的 ZIP 档案

当您收到新的 ZIP 档案时,您可以将其解压到旧位置

/Users/Me/Desktop/TemplateProject

然后,在您的存储库中,执行以下操作:

git submodule update --remote TemplateProject

【讨论】:

    【解决方案2】:

    我应该如何将新文件放在那里以及如何将文件的 Git 历史记录与我的新存储库的历史记录集成?

    这完全取决于您打算如何使用提供给您的代码。

    如果它是一个库,它可能不需要进入您的存储库。在磁盘上的其他地方查看它,并通过您的编程语言提供的任何方式链接到它。

    如果它是您要在其上构建的模板,那就这样做吧。不要创建自己的存储库,直接在他的上工作 - 现在是你的了。像往常一样提交您的更改。您可以稍后将他的任何更改合并到存储库中。

    【讨论】:

    • 请详细说明你的最后一句话——我如何才能将他的游戏模板(不是库,而是一个 iOS 应用)的未来改进合并到我的工作中?
    • @AlexanderFarber 假设您在屏幕截图中向我们展示的目录是“Repo A”,并且您一直在处理它。当他向您发送另一个 zip 文件时,将其解压缩到磁盘上的其他位置,称为“Repo B”。从 A,您可以将 B 添加为远程,运行 git fetch,然后合并适当的分支。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    • 2016-08-15
    • 2017-03-13
    • 2018-06-26
    • 2011-01-14
    • 1970-01-01
    • 2013-11-08
    相关资源
    最近更新 更多