是否可以添加一个虚拟配置文件(以便其他开发人员可以查看配置文件应该如何显示),然后使用.gitignore文件忽略它。然后用工作的替换虚拟配置细节,这样我可以继续开发项目并继续进行更改?但原始的虚拟配置文件在Github上保持不变?
这是我尝试的方法:
但是会跟踪对configuration.java的更改,因此这不起作用。
答案 0 :(得分:1)
如果您只是担心忽略本地dev repo中的更改,可以使用git update-index --assume-unchanged <file>
忽略对文件的任何更改。有关详细信息,请参阅http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/。
答案 1 :(得分:1)
你提到:
问题在于,gitignore仅适用于尚未被跟踪的文件,而且由于您已经提交了它,因此gitignore无法工作。引用gitignore文档:
gitignore文件指定Git的故意未跟踪文件 应该忽略。 Git已经跟踪的文件不受影响;
如果您想将自己的工作提交到公开可见的仓库,但想要隐藏敏感信息(如连接字符串/密码等),请先提交虚拟文件。例如,提交如下内容:
public class Configuration {
public static final String USERNAME = "someUsername";
public static final String PASSWORD = "passwordHere";
}
然后,告诉git停止跟踪该文件的更改,以便您可以在本地修改这些值,但不会提示您提交这些更改。
git update-index --assume-unchanged path/to/file.txt
有几点需要指出: