使用 git 时我应该从哪里获取发布文件?

Posted

技术标签:

【中文标题】使用 git 时我应该从哪里获取发布文件?【英文标题】:Where should I be getting my release files from when using git? 【发布时间】:2013-07-24 05:32:17 【问题描述】:

也许这是一个奇怪的问题,但我仍然对 git 非常缺乏经验。基本上我写完了一个非常简单的 Chrome 扩展。我在开发过程中一直在使用 git 来掌握使用它的窍门,但我对如何实际生成版本有点困惑。在我的实际项目文件夹中,有一个隐藏的 .git 文件夹,当我打包 Chrome 扩展程序时会包含该文件夹,我不希望这样。我知道我可以将文件复制到另一个目录并摆脱 git 的东西,但是在 git 中是否有正确的方法能够只用我的项目文件生成这种发布目录?或者更确切地说,我应该怎么做?

【问题讨论】:

【参考方案1】:

您通常会有一个Makefile 或具有dist 目标的等价物,当您执行make dist 时,它会打包并创建crx 文件。打包东西不是 git 的责任,因为它无法知道你项目结构的细节。

另一个有用的提示是在 src 子目录中包含一些东西,这样你就可以拥有其他非源代码的东西(如文档、自述文件、库、配置框架、任何其他不是源代码的东西 - 大多数这些东西都可以不适用于 Chrome 扩展程序)。另一个好处是.git 目录不会在其中:p

【讨论】:

【参考方案2】:

另一种 (git) 方法是将 .git 完全移出您的工作树。

GIT_DIR 设置为/path/to/.git(将您当前的.git 文件夹移到那里) 将GIT_WORK_TREE 设置为/path/to/your/workingtree

现在在你的工作树中完成的任何 git 命令仍然可以工作,除了 .git 文件夹将不存在。

【讨论】:

这绝对是可能的,但我认为这更像是一种解决方法,而不是真正的解决方案。如果您绝对不能将 .git 文件夹放在其默认位置,那么拥有这个很好,但我认为这里不是这种情况。

以上是关于使用 git 时我应该从哪里获取发布文件?的主要内容,如果未能解决你的问题,请参考以下文章

使用 GCM ios 9 时我应该在哪里处理推送通知

提交到应用商店时我应该使用哪个证书

如何使用 git CLI 获取最新版本

从远程 git 存储库获取单个文件

我的 java 程序从哪里开始(使用文件夹名称从 IMDB 获取信息)

使用 SessionFactoryUtils 时我应该关闭连接吗