保护文件免受Git攻击
我正在使用Git和WindRiver来管理我的一个项目。代码正在管理中,但项目文件(如.cproject、.project、.wrmakefile和.wrproject)未被管理。但是,当我切换分支时,Git会删除这些文件,尽管它们位于.gitignore中,从而消除了我编译代码而不必恢复提交或保留备份的能力保护文件免受Git攻击,git,github,protection,gitignore,Git,Github,Protection,Gitignore,我正在使用Git和WindRiver来管理我的一个项目。代码正在管理中,但项目文件(如.cproject、.project、.wrmakefile和.wrproject)未被管理。但是,当我切换分支时,Git会删除这些文件,尽管它们位于.gitignore中,从而消除了我编译代码而不必恢复提交或保留备份的能力 那么,有没有一种方法可以告诉Git——忽略这些文件,不管发生什么都不要碰它们?我不是Git方面的专家,但听起来好像你在将点文件添加到gitignore之前和分支之前提交了点文件。这就是我解
那么,有没有一种方法可以告诉Git——忽略这些文件,不管发生什么都不要碰它们?我不是Git方面的专家,但听起来好像你在将点文件添加到gitignore之前和分支之前提交了点文件。这就是我解决这些问题的方法(可能有更好的方法)
我将文件复制到git repo之外,然后运行
git rm
将文件从repo中删除,将适当的条目添加到gitignore中,然后将文件复制回项目中。这应该可以做到:
git rm
删除文件(必要时进行备份)并提交请记住,您可能必须对每个分支执行此操作,可以手动执行,也可以从主分支拉取提交。在将它们添加到git ignore之前,我确实提交了它们,但我执行了一个
git rm--cached
,因此我不必复制和替换它们。虽然我没有编辑分支中.gitignore的任何部分。我只是先在master中试一下。这会影响这一点吗?在将git rm添加到gitignore之前还是之后运行了git rm?我认为git不会管理被忽略的文件。这些文件仍然在git repo中,.gitignore只是忽略对它们的任何更改。使用git rm--cached
只从索引中删除它们,而不是从工作树中删除它们。elektronaut所做的一个正确的假设是OP添加了这些文件并提交了它们,以便跟踪它们。更改分支时,git将删除它们,因为它们在另一个分支中被跟踪。