15

我正在尝试使用 Gits 的“子模块”功能在项目中包含第 3 方代码。我只需要子模块中的几个文件,并希望排除它附带的所有文档等。

我怎样才能做到这一点?

4

2 回答 2

5

在我的子模块中,我有一个我想在本地/examples删除的文件夹,以防止自动生成的 makefile 看到这些文件;不得不对删除一无所知。origin

在 git CLI 中:

git update-index --assume-unchanged <path/to/file>

再次跟踪本地更改:

git update-index --no-assume-unchanged <path/to/file>

或者在 SourceTree 中,根据Fabian Blechschmidt 的回答创建自定义操作。

注意“停止跟踪”不同,其中origin确实也会在提交时停止跟踪文件 - 不是您想要的。

于 2015-07-24T11:35:18.663 回答
2

git 子模块是嵌入在另一个 git 存储库中的 git 存储库。除此之外,它没有什么特别之处——子模块的行为方式与任何其他 git 存储库相同。克隆存储库时,您将获得与存储库关联的所有文件和所有历史记录。

如果您只需要几个文件,并且对跟踪第三方项目的更改历史不感兴趣,也许您应该将特定文件复制到您的项目中并完成。

于 2012-04-19T13:13:25.687 回答