-1

我有一些我不想跟踪的带有“设置”的文件(比如 Eclipse *.prefs 文件)。他们已经被跟踪(因为我没有设置正确的东西),但看起来git rm --cached是如何阻止文件被跟踪。我试过了,现在git status将文件列为deleted:,但它们仍在我的目录中。到目前为止,一切都很好。

假设我git commit在当前状态下使用;它将创建一个新的提交 C1 但不会跟踪这些文件。假设一段时间后,在多次提交之后,并假设我对我的设置文件进行了一些更改,我使用git checkout恢复到提交 C1。这会删除不再跟踪的设置文件,还是不理会它们?我担心 Git 如何知道在签出较早的提交时,“此文件不在提交中,因此我将删除它”和“此文件应单独保留”之间的区别。我猜, Git 报告文件的事实deleted:让我更加担心,尽管这可能只是输出不准确。

4

1 回答 1

2

Git 在执行签出之前会进行检查,以查看目录中是否有任何未跟踪的文件,但这些文件存在于即将签出的提交中。如果有任何它告诉您它不能进行结帐,因为文件将被覆盖。您可以移动/重命名它们并重试,或者使用该--force选项重试,这将强制覆盖需要覆盖的任何内容。

于 2013-10-12T02:37:21.437 回答