如何在SourceTree中忽略具有git存储库的文件夹中的所有文件?

rub*_*com 82 git gitignore atlassian-sourcetree

我有一个使用SourceTree管理的Bitbucket Git存储库.

我有2个文件夹要提交,但我需要忽略这些文件夹中的所有文件,因为它们只包含临时文件.

我怎样才能做到这一点?

Kal*_*zem 147

对于SourceTree用户:如果要忽略特定文件夹,只需从该文件夹中选择一个文件,右键单击该文件并执行"忽略...".您将有一个弹出菜单,您可以忽略"忽略下面的所有内容:"

第一个菜单

第二个菜单

如果您将"忽略"选项显示为灰色,则必须选择"停止跟踪"选项.之后,文件将被添加到带有减号的红色背景图标的分阶段文件中,未分期文件列表中的文件图标将更改为紫罗兰色背景上的问号.现在,在Unstaged文件列表中,再次启用"忽略"选项.就像上面所描述的那样.

  • 我有"忽略"选项变灰了.有人知道为什么吗? (14认同)
  • 如果文件夹已提交,请先删除它,提交更改,然后按照上述步骤操作. (12认同)
  • 忽略对我来说也是灰色的. (5认同)

Ger*_*osi 55

将其添加到.gitignore:

*
!.gitignore
Run Code Online (Sandbox Code Playgroud)

  • 你能解释一下这个"命令"是什么吗?:-) (27认同)
  • 你是如何在SourceTree中做到这一点的? (19认同)
  • 这应该添加到您要跟踪的每个文件夹中.该文件本身的存在将使git跟踪该文件夹(通过跟踪该文件).`*`表示忽略所有文件,`!.gitignore`表示不忽略文件本身 (13认同)
  • 正如Billy Moon所解释的那样,谢谢.因此,您可以在目录中创建.gitignore文件.这个文件告诉Git要忽略什么或不要忽略什么. (2认同)

And*_*ski 21

右键单击文件 - >忽略 - >忽略下面的所有内容.
如果忽略选项显示为灰色,则:
1.首先暂存文件
2.右键单击 - >停止跟踪
3.该文件将出现在下面的窗格中,并带有问号 - >右键单击它 - >忽略
在此输入图像描述


Aas*_*set 7

据我所知,Git不跟踪文件夹,只跟踪文件 - 所以无法提交空文件夹(或忽略所有文件的文件夹).如果您因为构建过程中的某个步骤而需要存在该文件夹,那么您是否可以让您的构建工具创建它?或者您可以在文件夹中放入一个空的,未签名的文件并提交它.

  • @rubdottocom:我相信; 文件夹只存在于git中,因为它们中包含文件.为什么需要控制空文件夹版本? (2认同)
  • 跟踪空文件夹的原因有很多.您可能希望结帐有文件夹供人们使用,而无需单独创建它们.您的代码可能取决于某个文件夹的存在,例如期望上传的文件夹,如果该文件夹不存在,则无法上传文件等... (2认同)

Kar*_*und 5

在对此打了至少一个小时之后,我提供了这个答案,试图扩展其他人的评论.要忽略文件夹/目录,请执行以下操作:如果项目根目录中没有.gitignore文件(该名称与".gitignore"完全相同),请在要排除的文件夹中创建虚拟文本文件.在Source Tree内部,右键单击它并选择Ignore.你会得到一个看起来像这样的弹出窗口.

在此输入图像描述

选择"下面的所有内容",然后从下拉列表中选择要忽略的文件夹.这将在根目录中创建一个.gitignore文件,并将文件夹规范放入其中.

如果您的根文件夹中已有.gitignore文件夹,则可以按照上述相同方法操作,或者只需编辑.gitignore文件并添加要排除的文件夹即可.它只是一个文本文件.请注意,它使用路径名中的正斜杠而不是反斜杠,正如Windows用户习惯的那样.我尝试在Windows资源管理器中手动创建一个.gitignore文本文件,但它没有让我创建一个没有名称的文件(即只有扩展名).

请注意,添加.gitignore和文件规范对已经跟踪的文件没有影响. 如果您已经在跟踪这些内容,则必须停止跟踪它们.(右键单击文件夹或文件,然后选择"停止跟踪".)然后,您将看到它们从绿色/干净或琥珀色/已更改图标变为红色/已删除图标.在下次提交时,文件将从存储库中删除,然后显示蓝色/忽略图标.另一位撰稿人问为什么Ignore被禁用特定文件,我相信这是因为他试图忽略已经被跟踪的文件.您只能忽略具有蓝色问号图标的文件.