保护文件免受Git攻击

保护文件免受Git攻击,git,github,protection,gitignore,Git,Github,Protection,Gitignore,我正在使用Git和WindRiver来管理我的一个项目。代码正在管理中,但项目文件(如.cproject、.project、.wrmakefile和.wrproject)未被管理。但是,当我切换分支时,Git会删除这些文件,尽管它们位于.gitignore中,从而消除了我编译代码而不必恢复提交或保留备份的能力 那么,有没有一种方法可以告诉Git——忽略这些文件,不管发生什么都不要碰它们?我不是Git方面的专家,但听起来好像你在将点文件添加到gitignore之前和分支之前提交了点文件。这就是我解

我正在使用Git和WindRiver来管理我的一个项目。代码正在管理中,但项目文件(如.cproject、.project、.wrmakefile和.wrproject)未被管理。但是,当我切换分支时,Git会删除这些文件,尽管它们位于.gitignore中,从而消除了我编译代码而不必恢复提交或保留备份的能力


那么,有没有一种方法可以告诉Git——忽略这些文件,不管发生什么都不要碰它们?

我不是Git方面的专家,但听起来好像你在将点文件添加到gitignore之前和分支之前提交了点文件。这就是我解决这些问题的方法(可能有更好的方法)


我将文件复制到git repo之外,然后运行
git rm
将文件从repo中删除,将适当的条目添加到gitignore中,然后将文件复制回项目中。

这应该可以做到:

  • 从.gitignore中删除文件
  • 使用
    git rm
    删除文件(必要时进行备份)并提交
  • 将文件添加到.gitignore并再次提交

  • 请记住,您可能必须对每个分支执行此操作,可以手动执行,也可以从主分支拉取提交。

    在将它们添加到git ignore之前,我确实提交了它们,但我执行了一个
    git rm--cached
    ,因此我不必复制和替换它们。虽然我没有编辑分支中.gitignore的任何部分。我只是先在master中试一下。这会影响这一点吗?在将git rm添加到gitignore之前还是之后运行了git rm?我认为git不会管理被忽略的文件。这些文件仍然在git repo中,.gitignore只是忽略对它们的任何更改。使用
    git rm--cached
    只从索引中删除它们,而不是从工作树中删除它们。elektronaut所做的一个正确的假设是OP添加了这些文件并提交了它们,以便跟踪它们。更改分支时,git将删除它们,因为它们在另一个分支中被跟踪。