Git 文件夹内的子模块包含要忽略的文件夹和文件
Git Submodule inside a folder with folders and files to be ignored
我遇到过 git 子模块位于包含其他要忽略的文件夹的文件夹中的情况。结构如下:
lib/
submodule-folder/
other-folder/ # This is folder should be ignored
我的问题是,我可以只将 lib/
添加到 .gitignore
以实现 other-folder
在子模块仍正常工作时被忽略的目标吗?或者我应该排除 .gitignore
中的子模块模式,例如
lib/*
!lib/submodule-folder/
我已经尝试了第一种方法,当使用像 git submodule update
这样的命令时,子模块似乎运行良好,但仍然不确定这是否正确,因为我找不到解释它的参考资料。有人 运行 遇到过这样的情况吗?
如果子模块已经被跟踪(意味着它的根文件夹 lib/submodule-folder/
已经作为 a gitlink 的 Git 历史记录的一部分),那么是的,您可以将 lib/
添加到 .gitignore
.
这将忽略 else lib/
文件夹中的所有内容。
要仔细检查子模块文件夹 不 是否被任何 .gitignore
规则忽略,请检查以下命令 return 什么都不做:
git check-ignore -v -- lib/submodule-folder
(本例中没有尾部斜线)
我遇到过 git 子模块位于包含其他要忽略的文件夹的文件夹中的情况。结构如下:
lib/
submodule-folder/
other-folder/ # This is folder should be ignored
我的问题是,我可以只将 lib/
添加到 .gitignore
以实现 other-folder
在子模块仍正常工作时被忽略的目标吗?或者我应该排除 .gitignore
中的子模块模式,例如
lib/*
!lib/submodule-folder/
我已经尝试了第一种方法,当使用像 git submodule update
这样的命令时,子模块似乎运行良好,但仍然不确定这是否正确,因为我找不到解释它的参考资料。有人 运行 遇到过这样的情况吗?
如果子模块已经被跟踪(意味着它的根文件夹 lib/submodule-folder/
已经作为 a gitlink 的 Git 历史记录的一部分),那么是的,您可以将 lib/
添加到 .gitignore
.
这将忽略 else lib/
文件夹中的所有内容。
要仔细检查子模块文件夹 不 是否被任何 .gitignore
规则忽略,请检查以下命令 return 什么都不做:
git check-ignore -v -- lib/submodule-folder
(本例中没有尾部斜线)