如何在Git中不跟踪已添加但未提交的文件,而不使用.gitignore

3
情况:我想在我的git文件夹中添加一个.rvmrc文件,但我意识到整个团队都不需要这个文件。为了满足自己的需要,我不想修改.gitignore文件。然而,我在git这个领域并不熟练,所以非常感谢答案栏里的任何建议。
因此,我在网上寻找关于忽略添加到git仓库中的文件的命令或git概念。每篇文章都指向我将某些内容添加到.gitignore中(我不想这样做,因为它会导致新的提交),或者忽略已经被跟踪的本地文件。有人能给我指点吗?
谢谢!
3个回答

6
我想你需要寻找Git的.git/info/exclude文件。
这个文件是用于“私人忽略”的,类似于.gitignore,但仅适用于一个副本的存储库。它们不会提交到存储库中。
以下是GitHub关于此事的说明
显式存储库排除
如果您不想创建一个.gitignore文件与他人共享,您可以创建规则,这些规则不会随存储库一起提交。 您可以使用此技术来处理本地生成的文件,您不希望其他用户生成,例如您的编辑器创建的文件。
使用您喜欢的文本编辑器打开名为.git/info/exclude的文件,该文件位于Git存储库的根目录中。您在此处添加的任何规则都不会被检查,并且只会忽略您本地存储库中的文件。
以下是操作步骤:
  1. 在终端中,导航到Git存储库的位置。
  2. 使用您喜欢的文本编辑器打开文件.git/info/exclude

我只需要将名称添加到那个文件中吗? - ForgetfulFellow
@ForgetfulFellow,您可以使用与.gitignore支持的相同类型的模式。将.rvmrc添加到文件中应该可以工作,但它也会忽略存储库子目录中的任何.rvmrc文件。 - Chris

1

你的目的是什么? 如果需要删除你误添加(但还未提交)的文件,只需执行以下操作:

git reset <path_to_unadd>

这将简单地将文件从暂存区移动到工作副本。

否则,我认为没有理由不使用 .gitignore,这是一个不同的概念。


0

如果您只是想从暂存区(已添加但未提交)中删除文件,请使用git rm

具体来说,如果您想从暂存区中删除文件但不希望将其从工作树中删除,请使用git rm --cached file.ext

如果您想永久忽略一个文件,请使用.gitignore,我认为为此添加额外的提交没有任何问题,这可以防止其他贡献者添加和提交您想要忽略的文件。


“git rm”?为什么不直接用“git reset”呢? - Gabriele Petronella
@GabrielePetronella 如果添加的文件是新文件,则不认为git reset是有效的。https://dev59.com/NGcs5IYBdhLWcg3wrl4Z - Robert Rouhani
适用于我,那个答案可能是指旧版本的git。 - Gabriele Petronella

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接