我有一个使用SourceTree管理的Bitbucket Git存储库。
我要提交2个文件夹,但是我需要忽略这些文件夹中的所有文件,因为它们只包含临时文件。
我该怎么做?
答案 0 :(得分:143)
对于SourceTree用户:如果要忽略特定文件夹,只需从该文件夹中选择一个文件,右键单击该文件并执行“忽略...”。您将有一个弹出菜单,您可以忽略“忽略下面的所有内容:”
如果您将“忽略”选项显示为灰色,则必须选择“停止跟踪”选项。之后,文件将被添加到带有减号的红色背景图标的分阶段文件中,未分期文件列表中的文件图标将更改为紫罗兰色背景上的问号。现在,在Unstaged文件列表中,再次启用“忽略”选项。如上所述。
答案 1 :(得分:55)
将此添加到.gitignore:
*
!.gitignore
答案 2 :(得分:20)
右键点击文件 - >忽略 - >忽略下面的一切。
如果“忽略”选项显示为灰色,则:
1.第一阶段文件
2.右键单击 - >停止跟踪
3.该文件将出现在下面的窗格上,并带有问号 - >右键单击它 - >忽略
答案 3 :(得分:7)
据我所知,Git不跟踪文件夹,只跟踪文件 - 因此无法提交空文件夹(或忽略所有文件的文件夹)。如果你是由于构建过程中的某些步骤,需要文件夹存在,也许你可以让你的构建工具创建它?或者你可以在文件夹中放入一个空的,未经签名的文件并提交它。
答案 4 :(得分:5)
在我的头上打了至少一个小时后,我提供了这个答案,试图扩大其他人的评论。要忽略文件夹/目录,请执行以下操作:如果项目的根目录中没有.gitignore文件(该名称与“.gitignore”完全相同),请在要排除的文件夹中创建虚拟文本文件。在Source Tree内部,右键单击它并选择Ignore。你会得到一个看起来像这样的弹出窗口。
选择“下面的所有内容”,然后从下拉列表中选择要忽略的文件夹。这将在根目录中创建一个.gitignore文件,并将文件夹规范放入其中。
如果您的根文件夹中已有.gitignore文件夹,则可以按照上述相同方法操作,或者只需编辑.gitignore文件并添加要排除的文件夹即可。它只是一个文本文件。请注意,它使用路径名中的正斜杠而不是反斜杠,正如Windows用户习惯的那样。我尝试在Windows资源管理器中手动创建一个.gitignore文本文件,但它没有让我创建一个没有名称的文件(即只有扩展名)。
请注意,添加.gitignore和文件规范对已经跟踪的文件没有任何影响。如果您已经在跟踪这些文件,则必须停止跟踪它们。 (右键单击文件夹或文件,然后选择“停止跟踪”。)然后,您将看到它们从绿色/干净或琥珀色/已更改图标变为红色/已删除图标。在下次提交时,文件将从存储库中删除,然后显示蓝色/忽略图标。另一位撰稿人问为什么Ignore被禁用特定文件,我相信这是因为他试图忽略已经被跟踪的文件。您只能忽略带有蓝色问号图标的文件。
答案 5 :(得分:4)
正如其他人所说:git不跟踪文件夹,只跟踪文件。
您可以确保存在包含这些命令(或等效逻辑)的文件夹:
echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"
文件的存在意味着任何签出存储库的人都会拥有该文件夹。
gitignore文件的内容将意味着忽略其中的任何内容
You do not need to not-ignore the .gitignore file itself。一旦承诺,这条规则根本没有任何意义。
或强>
如果您希望将所有忽略定义保留在同一位置,则可以在项目的根目录中使用如下内容创建.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,empty。
答案 6 :(得分:2)
如果忽略选项显示为灰色,则必须先停止跟踪该文件,然后才能忽略该文件。您只需右键单击该文件,然后点击"停止跟踪"。
旁边应该出现一个蓝色图标。再次右键单击它并单击忽略。
答案 7 :(得分:1)
忽略源树上的完整文件夹。
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 /
答案 8 :(得分:0)
:只是忽略指定文件夹中的文件,sourcetree会询问你是否要忽略该文件夹中的所有文件,这是完美的!
答案 9 :(得分:0)