git:使文件不可提交且不可更新但保留本地编辑

时间:2014-04-10 14:48:37

标签: git

我想要一个文件,让我们称之为" scratchpad",即:

回复中包含了

1),因此每个克隆回购邮件的人都会收到该文件的副本,它的初始版本为#34;版本

git会忽略

2),因此对其进行的任何本地更改都不会被提交,甚至不会弹出"更改"列表

3)不能通过git更新,因此在拉取和合并期间任何本地更改都不会被覆盖

首先要求可以通过将文件添加到git来完成。第二个可以通过git --assume-unchanged进行操作,如下所述:Git: Ignoring Version-Controlled Files

我无法满足第3项要求。 --assume-unchanged会产生后果:由于git认为文件未更改,因此可以随意替换其内容。因此,本地编辑不安全。

(这是一个疯狂的原因:这个文件应该包含各种特定于开发人员的数据,包括他/她的登录名和密码。当然这样的数据永远不会出现在存储库中。但是应该提供克隆回购的每个人使用一组测试凭据。这个"暂存器"文件包含几个常量和方法,因此如果没有它,项目甚至不会编译。)

1 个答案:

答案 0 :(得分:0)

我需要为Django localsettings.py文件做类似的事情。为了处理这个问题,我将localsettings.py添加到.gitignore,然后提交一个包含基本配置的localsettings.py.example文件,其中没有任何机密信息。在克隆时,开发人员需要手动复制localsettings.py.examplelocalsettings.py填写空白。