Git:隐藏/删除永远不需要进行版本控制的文件

11

我想开始使用Git和TortoiseGit。

是否有一种方法可以完全隐藏不应该被跟踪的文件?当前,当我提交更改时,所有临时构建文件都在同一个“未版本化”列表中与新文件一起。


这可以直接在TortoiseGit中完成!请参见linquize的答案 - Peter Mortensen
考虑将接受的答案更改为linquize的答案,因为这个问题在某种程度上是特定于TortoiseGit,而不是一般的Git方法。 - Peter Mortensen
5个回答

25
在您的根文件夹下创建一个名为.gitignore的文本文件,并添加类似以下内容的行以排除文件:
*.obj
test.c

然后将 .gitignore 添加到你的 Git 仓库并提交:

$ git add .gitignore
$ git commit .gitignore

2
顺便提一下,在tortoise-git的提交窗口中可以选择路径,并将其复制到剪贴板,这使得将它们基于.gitignore变得容易。 - peterchen
是的,但使用TortoiseGit中的内置功能可能更容易(在这里的另一个答案中)。 - Peter Mortensen

10

你需要调查.gitignore文件。

git help gitignore

9

TortoiseGit 可以使用多种选项将文件添加到忽略列表中。

在存储库中右键单击文件 → TortoiseGit添加到忽略列表 → 按文件名 / 按扩展名

弹出对话框以选择选项:

忽略类型

仅此文件(匹配绝对名称),

递归(匹配相同名称)

忽略文件

.gitignore 在根目录中(需要提交)

.gitignore 在包含目录中(需要提交)

.git/info/exclude(类似配置文件,本地存储)

另请参阅:手册条目第2章 TortoiseGit 日常使用指南忽略文件和目录.


5

由于TortoiseGit的好处之一是使用UI,尤其是如果您曾经使用过其他产品,如TortoiseSVNTortoiseHg,因此这里有一些实现此目的的UI方式:

文件还未添加

将文件添加到.gitignore排除列表的简单方法是在选择要在Tortoise中进行git commit时要暂存的文件时 - Tortoise将列出所有未被忽略且当前未在您的存储库中的文件,在提交屏幕底部的Not Versioned Files框下:

Adding file exclusions to .gitignore during commit

错误添加的不需要的文件

如果您已经提交或推送了不需要的文件,那么在较新(大约1.8.14)版本的TortoiseGit中,从您的存储库分支中删除现有文件并将其添加到其中一个.gitignore文件中的方法是隐藏在右键功能下的删除并添加到忽略列表中:

Removing versioned file from repository and adding to GitIgnore

你可以选择几个`.gitignore`选项,包括是否仅添加此文件或通配符匹配,以及要将其添加到哪个`.gitignore`中 - 本地文件夹、仓库根目录或者`.git/info/exclude`文件。然而,在最后一刻,你有机会保留文件的本地副本。

Deleted from the repository, but kept locally


5

如果您已经将文件添加到仓库中,但需要删除/忽略它们,请按照以下步骤操作:

  1. 将这些文件移到仓库之外的某个地方。
  2. 提交一次更改,从仓库中删除这些文件。
  3. 将这些文件移回到它们原来的位置。
  4. 再次提交更改,但现在不要将这些文件添加到仓库中,而是右键单击这些文件。选择 添加到忽略列表按文件名。添加到哪个 .gitignore 文件无关紧要,但您可以在互联网上查找其区别。

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