1

Eclipse 有它自己的文件和.project文件夹。在 git 中,我将它们放在文件中,因为我不希望它们在远程存储库中被跟踪。我的问题是,当我切换分支然后切换回来时,这些文件已被删除,因此 eclipse 无法识别该项目,我必须再次导入它才能生成它们。.classpath.settings.gitignore

有没有办法告诉 git 忽略这些文件,但将它们保存在本地 repo 或其他东西中,这样我在切换分支时不会丢失它们,但不会跟踪对它们的更改,也不会将它们推送到远程?

运行时显示文件git ls-files -o

我检查了GIT:切换分支时如何保留忽略的文件?,但执行时文件仍然出现git status

编辑:

git status单独显示这一点:

$ git status
On branch refactorizacion
Your branch is up-to-date with 'origin/refactorizacion'.

nothing to commit, working directory clean

这不起作用:

$ git add -f .project
$ git rm --cached .project

我也试过这个,但文件出现在git status

$ git add -f .project
$ git update-index --assume-unchanged .project
$ git status
On branch refactorizacion
Your branch is up-to-date with 'origin/refactorizacion'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   .project
4

1 回答 1

0

第二个显然行不通。您正在将文件添加到索引,但没有提交,它不知道要与哪个以前的版本进行比较。所以 git status 会将其显示为一个新文件。您只能在提交一次后应用更新索引。

在第一种情况下,我不确定为什么要在删除文件之前添加文件。

如您提到的问题中所述,您应该简单地删除文件(如果 git 仍在跟踪它)并将其添加到.gitignore,以便 git 不再跟踪它。这将使其与分支切换绝缘。

编辑:确保使用删除文件git rm <file>并且添加该文件的提交存在于所有分支中。然后将文件添加到 gitignore。

于 2015-08-20T12:54:32.937 回答