我找到了许多与此相关的主题,但是没有一个主题能够解决我要解决的特定问题。
我在存储库的根目录中有一个名为local.properties的配置文件。每个使用仓库的开发人员在此配置文件中将具有不同的值。我想在存储库中有一个默认文件,这样,如果开发人员克隆存储库(或者,如果可能的话,拉并没有该文件),它将被添加,但是我不想在本地跟踪更改(即,当他们对文件进行更改时,git不应将其作为修改后的文件进行跟踪)。我不希望开发人员必须执行任何额外的git命令来使其正常工作(例如git update-index --skip-worktree local.properties
),并且理想情况下,即使分拆了回购协议,我也希望这种情况保持不变。 / p>
我根据this post的评论进行了尝试
git rm --cached local.properties
,提交,然后将文件添加到.gitignore
,然后提交并推送,但这会删除上游文件。.gitignore
,创建模板文件,用git add -f local.properties
强制添加,提交并推送它,但是更改仍在跟踪中(使用git rm --cached local.properties
使我进入与以前相同的位置)至少还有一些其他变体,它们以不同的顺序以及通过推送等方式执行这些操作,因此我无法使文件真正保留在存储库中,不会被跟踪,因为本地更改不会触发登台区域的修改。这可能吗?
答案 0 :(得分:1)
使用另一个名称(例如local.properties.template
)提交并跟踪模板,并让您的开发人员在首次克隆存储库时将其复制到实际名称。您甚至可以在您的存储库中包含一个设置脚本来为他们进行复制。