如何安全地提交.git目录

时间:2017-06-27 09:16:15

标签: git .git-folder

我正在开发一个与git相关的软件,我在我的代码中包含了单元测试。

我已经创建了一个测试git项目(在子目录下)供测试使用:resources/test-git-project
此测试git项目不与任何远程关联,但它包含提交/标记/分支。

在git中提交resources/test-git-project内容的最安全的方法是什么?

3 个答案:

答案 0 :(得分:1)

您可以压缩它或将其添加为limit,具体取决于您想要更改内容的频率以及git submodule文件夹的哪些部分对您的测试很重要。

将其添加为子模块可以更轻松地访问.git目录,但不会真正提交目录的内容并管理其修订版。您将在不同的克隆上拥有不同的内容,因为您执行.git时(如果您添加/删除分支,如果您重新分支分支,如果您在本地创建悬空对象等等)

您也可以使用the --git-dir option 执行某些操作。

答案 1 :(得分:1)

感谢Thibault D.回答,我找到了我正在寻找的解决方案:

我已重命名 .gitgitdir,现在可以提交:

当我想要执行更新或查看测试仓库的状态时,我会执行以下操作:

git --git-dir=resources/test-git-project/gitdir --work-tree=resources/test-git-project anycommand

在执行单元测试之前,我复制了resources/test-git-project下的目录/tmp并将/tmp/test-git-project/gitdir重命名为/tmp/test-git-project/.git,这样我就不必惹恼{{1}我的测试代码上的选项。

答案 2 :(得分:0)

你不应该有嵌套的git存储库。

为代码和测试(通用类型)设置一个独特的repo,或者有两个单独的repos,但是在文件系统中处于同一层级,而不是嵌套到另一个。