我正在开发一个与git相关的软件,我在我的代码中包含了单元测试。
我已经创建了一个测试git项目(在子目录下)供测试使用:resources/test-git-project
此测试git项目不与任何远程关联,但它包含提交/标记/分支。
在git中提交resources/test-git-project
内容的最安全的方法是什么?
答案 0 :(得分:1)
您可以压缩它或将其添加为limit
,具体取决于您想要更改内容的频率以及git submodule
文件夹的哪些部分对您的测试很重要。
将其添加为子模块可以更轻松地访问.git
目录,但不会真正提交目录的内容并管理其修订版。您将在不同的克隆上拥有不同的内容,因为您执行.git
时(如果您添加/删除分支,如果您重新分支分支,如果您在本地创建悬空对象等等)
您也可以使用the --git-dir option 执行某些操作。
答案 1 :(得分:1)
感谢Thibault D.回答,我找到了我正在寻找的解决方案:
我已重命名 .git
到gitdir
,现在可以提交:
当我想要执行更新或查看测试仓库的状态时,我会执行以下操作:
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,但是在文件系统中处于同一层级,而不是嵌套到另一个。