Git:防止文件的本地和远程副本互相覆盖

时间:2014-12-24 18:33:36

标签: git github

我在GitHub上有一个项目。项目中的某个组件需要我的项目中有一个配置文件P,其中包含一个无法更改的特定名称和位置。

为了在我的计算机上本地运行JUnit测试,还有一些远程服务器,我们在P中需要两个不同的内容和配置。问题是,由于P,在存储库中,Git pull和push命令覆盖P在服务器或我的计算机上。

我想找到一个解决方案来阻止Git拉动并推动覆盖P.换句话说,我正在寻找一种解决方案,告诉Git如果文件远程和本地具有不同的内容,那就没关系。对此有什么解决方案吗?

(此信息可能不相关,但它是一个Android项目,需要P的组件是Roboelectric。运行JUnit测试的远程服务器是Travis)。

2 个答案:

答案 0 :(得分:0)

您唯一的选择是从源代码管理中删除该文件。

git rm --cached P会告诉git 停止完全跟踪它。

答案 1 :(得分:0)

如果它已经在服务器中并且您想让git“忘记”该文件,则需要使用.gitignore(这就是为什么它在那里!)。

要停止跟踪文件,请使用以下命令:

git rm --cached <file>

此删除将在您下次提交时进行。