有很多问题涉及忽略 git 中的内容,但似乎没有一个适用于我的特定情况。我有一个看起来像这样的项目:
proj
|-foo/
|--project-file.txt
|-bar/
|--project-file2.txt
|-temp/
|--machine-specific-file.txt
|--machine-specific-file2.txt
(编辑:为清楚起见添加)我的 .gitignore 文件:
temp/
我的项目有几个分支,所有分支中都有不同的特定于机器的文件。我的问题是:因为我没有跟踪特定于机器的文件(没有理由签入它们,因为它们只在这里有用),每次我切换分支并尝试打开我的项目时,机器特定的文件被覆盖。这是一个问题,因为我的软件需要大约 10 分钟来生成它们——当我每天切换分支 5 或 6 次时很烦人。有没有办法以某种方式跟踪每个分支的机器特定文件,而不必将它们存储在服务器上?
我尝试过的事情:
为我需要工作的每个分支创建一个新的本地分支,将特定于机器的文件保存在那里,当我需要合并我的工作时,首先将其与原始分支合并(简单,因为它是快进),并且然后去与其他一切合并。问题:它可以工作,但是很混乱,由于 .gitignore 的差异,有时需要一段时间才能进行第一次合并。也许这是正确的方法?似乎应该有更好的解决方案。
制作子模块 - 我不认为我理解这个过程,因为我一直无法让它以我想要的方式工作。由于文件必须命名相同,因此在每个文件夹中,我认为我没有正确指定我想要的存储库的位置。
如果您有任何指示,请告诉我!谢谢。