当我运行git clean --dry-run
结果有点像:
Would remove an_untracked_file
Would remove an_untracked_file_2
Would not remove some_unrelated_folder/subfolder/
Run Code Online (Sandbox Code Playgroud)
跟踪"无关"文件夹并且没有任何更改,因此我不希望git删除它们.
但是,为什么git报告Would not remove
我的项目的一些(但不是全部)正常(并且完全未触及)文件夹?
我可以告诉git要考虑什么,但然后决定反对,删除它们?
git status
仅列出我所知道的几个未跟踪文件.正如所料.
git ls-files --other --exclude-standard
返回那些相同的未跟踪文件.正如所料.
git ls-files --other --exclude-standard --directory
返回那些相同的未跟踪文件,以及一堆看似正常的目录.这不是我期望看到的,因为我认为目的 --directory
是减少,而不是增加返回的结果数量.
在检查意外目录时,似乎每个目录都是空的,除了".gitignore"d .svn子文件夹.也许这会影响事物.
任何人都可以帮我理解这种行为吗?
谢谢
我可以告诉git要考虑什么,但然后决定反对,删除它们?
你真的可以!(自2013年7月起,即将推出的git 1.8.4):
" git clean
"命令学习了一种交互模式.
有关初始实现,请参阅提交17696002086e8c6b9e998543d212e707c7d511ab:
有关实现,请参阅commit d1239264f2786d7ea15543b980c6bf6afbc4701a:
为交互添加新操作
git-clean
:按模式过滤.
当用户选择此操作时,用户可以输入以空格分隔的模式(与语法相同gitignore
),并且将从清除中排除与其中一个模式匹配的每个干净候选项.
当用户感觉没问题时,按ENTER键返回确认对话框.
有关测试和示例,请参阅commit db627fd568410499c47d764937c3d7a10bbadffa.
有关文档,请参阅commit c0be6b4c8a1d16a92efad00d73683075cf2da60d
显示将要执行的操作并以交互方式清理文件.
当命令进入交互模式时,它显示要清理的文件和目录,并进入其交互式命令循环.
命令循环显示可用的子命令列表,并给出提示符"
What now>
".
通常,当提示以单个'>
' 结尾时,您只能选择给定的一个选项并输入return,如下所示:
------------
*** Commands ***
1: clean 2: filter by pattern 3: select by numbers
4: ask each 5: quit 6: help
What now> 1
------------
Run Code Online (Sandbox Code Playgroud)
只要选择是唯一的,您也可以说
c
或clean
更高.主命令循环有6个子命令.
clean::
Run Code Online (Sandbox Code Playgroud)
开始清理文件和目录,然后退出.
filter by pattern::
Run Code Online (Sandbox Code Playgroud)
这显示了要删除的文件和目录,并发出"
Input ignore patterns>>
"提示.
您可以输入空格分隔的模式以排除文件和目录的删除.
例如," "将从删除中*.c *.h
排除以".c
"和".h
" 结尾的文件.
如果对筛选结果感到满意,请按ENTER(空)返回主菜单.
select by numbers
Run Code Online (Sandbox Code Playgroud)
这显示了要删除的文件和目录,并发出"
Select items to delete>>
"提示.
当提示以这样的双">>
' 结束时,您可以进行多个选择,与空格或逗号连接.
你也可以说范围.
例如,"2-5 7,9
"从列表中选择2,3,4,5,7,9.
如果省略范围中的第二个数字,则将采用所有剩余的修补程序.
例如,"7-
"从列表中选择7,8,9.
你可以说'*
'选择一切.
此外,当您对筛选结果感到满意时,请按ENTER(空)返回主菜单.
ask each::
Run Code Online (Sandbox Code Playgroud)
这将开始清理,您必须逐个确认才能删除项目.
请注意,此操作不如上述两个操作有效.
quit::
Run Code Online (Sandbox Code Playgroud)
这样可以在不进行清洁的情况下退出.
help::
Run Code Online (Sandbox Code Playgroud)
显示交互式git-clean的简要用法.
归档时间: |
|
查看次数: |
10019 次 |
最近记录: |