我有一个通过Sourcetree管理的Bitbucket Git存储库。
我有两个要提交的文件夹,但是我需要忽略这些文件夹中的所有文件,因为它们仅包含临时文件。
我怎样才能做到这一点?
我有一个通过Sourcetree管理的Bitbucket Git存储库。
我有两个要提交的文件夹,但是我需要忽略这些文件夹中的所有文件,因为它们仅包含临时文件。
我怎样才能做到这一点?
Answers:
将此添加到.gitignore:
*
!.gitignore
.gitginore
是一个常规文件,只需在要忽略其内容的目录中创建它即可。
对于Sourcetree用户:如果要忽略特定文件夹,只需从此文件夹中选择一个文件,右键单击该文件并执行“忽略...”。您将有一个弹出菜单,您可以在其中忽略“忽略下面的所有内容:<您不需要的文件夹>”
如果您将“忽略”选项设为灰色,则必须选择“停止跟踪”选项。之后,该文件将被添加到带有红色背景图标上的减号的暂存文件中,并且未暂存文件列表中的文件图标将变为紫罗兰色背景上的问号。现在,在“未暂存文件”列表中,再次启用“忽略”选项。请按照上述说明进行操作。
据我所知,Git不跟踪文件夹,仅跟踪文件,因此无法提交空文件夹(或忽略所有文件的文件夹)。例如,如果由于构建过程中的某个步骤而需要显示该文件夹,那么也许可以让您的构建工具来创建它?或者,您可以在文件夹中放入一个空的,不可忽略的文件,然后提交。
在此问题上打了至少一个小时之后,我提供了这个答案,以尝试扩大其他人的评论。要忽略文件夹/目录,请执行以下操作:如果项目的根目录中没有.gitignore文件(名称恰好是“ .gitignore”),请在要排除的文件夹中创建一个虚拟文本文件。在“源树”内部,右键单击它,然后选择“忽略”。您将看到一个看起来像这样的弹出窗口。
选择“所有内容”,然后从下拉列表中选择要忽略的文件夹。这将在您的根目录中创建一个.gitignore文件,并将文件夹规范放入其中。
如果您的根文件夹中确实已经存在一个.gitignore文件夹,则可以按照上述相同的方法进行操作,或者您可以编辑.gitignore文件并添加要排除的文件夹。这只是一个文本文件。请注意,按照Windows用户的习惯,它在路径名中使用正斜杠而不是反斜杠。我尝试在Windows资源管理器中手动创建.gitignore文本文件,但是它不允许我创建没有名称的文件(即,仅具有扩展名)。
请注意,添加.gitignore和文件规范对已经被跟踪的文件没有影响。 如果您已经在跟踪这些内容,则必须停止跟踪它们。(右键单击该文件夹或文件,然后选择“停止跟踪”。)然后您将看到它们从具有绿色/干净或琥珀色/更改的图标变为红色/已删除的图标。在下一次提交时,文件将从存储库中删除,然后显示为蓝色/忽略图标。另一个贡献者问为什么对特定文件禁用“忽略”,我相信这是因为他试图忽略已经被跟踪的文件。您只能忽略带有蓝色问号图标的文件。
正如其他人提到的那样:git不跟踪文件夹,仅跟踪文件。
您可以使用以下命令(或等效逻辑)确保文件夹存在:
echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"
文件的存在将意味着任何签出存储库的人都将拥有该文件夹。
gitignore文件的内容将意味着其中的任何内容都会被忽略
您不需要不忽略.gitignore文件本身。这是一条一旦实施便毫无用处的规则。
要么
如果您希望将所有忽略定义保留在同一位置,则可以在项目的根目录中创建.gitignore,其内容如下所示:
*.tmp # example, ignore all .tmp files in any folder
path/to/keepthisfolder
path/to/keepthatfolder
并确保文件夹存在
touch path/to/keepthisfolder/anything
git add --force path/to/keepthisfolder/anything
git commit -m "ensure keepthisfolder exists when checked out"
“任何东西”从字面上可以是任何东西。常用的名称是.gitignore,.gitkeep,空。
忽略源树上的完整文件夹。
Just Open Repository >Repository setting > Edit git ignore File and
you can rite some thing like this :
*.pdb
*.bak
*.dll
*.lib
.gitignore
packages/
*/bin/
*/obj/
对于bin文件夹和obj文件夹,只需编写:* / bin / * / obj /
*
方法会忽略所有文件,并且该!.gitignore
方法不会忽略文件本身