Git:保留一个仅限本地的子目录

时间:2015-11-20 08:43:37

标签: git

我有一个项目,我在project/notes中保留自己使用的注释,但不应将注释推送到远程存储库。通过添加project/.git/info/exclude的路径,这很容易。但是,我想使用git来跟踪笔记的变化。我可以在project/notes/.git创建一个单独的,仅限本地的存储库并将其存储在那里,还是会搞砸?我应该将notes目录放在项目之外,然后建立一个符号链接吗?或者还有其他方法可以做到这一点吗?

2 个答案:

答案 0 :(得分:2)

我有一个快速修复,但它可能不是你期望做的。

首先在根项目中创建一个包含以下内容的.gitignore:

notes/

然后在notes目录中创建一个新的git存储库。

答案 1 :(得分:0)

只要不需要跟踪与项目版本历史记录相关的注释中的更改,即注释文件夹的行为就不像是子模块,您只需创建一个新的存储库即可。忽略了备注文件夹。

但是,如果必须将注释中的更改映射到项目中的更改而不将注释作为项目的一部分发布,那么另一种方法是创建一个额外的仅本地超级项目并将实际项目添加为子模块。然后,您可以将注释作为该超级项目的主要内容,或者作为另一个子模块,具体取决于您希望如何定义项目结构的语义。在任何一种情况下,您都不必在实际项目中明确忽略您的笔记。您将创建一个这样的文件夹结构:

/your_local_super_project
----/project
--------/your_project_tree_here
----/notes

正如您所说,您可以将笔记移到项目目录之外,这可能是您应该做的。您可以跟踪要跟踪的所有内容,并且可以避免注释与项目之间的干扰。它比摆弄符号链接更便携。