关于git命令那些事

引子关于git命令的使用,其实也是因人而异的,大多数人选择客户端的使用,因为方便,容易看懂,个人喜欢命令,所以尝试开个专栏讲讲git那些事。

本文不论顺序介绍各个git命令,翻译内容源自于 本机上通过git clean --help所打开的内容

git-clean(1) 手册页

名称:

git-clean - 移除工作区未跟踪的文件

概要:

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…​

描述:

从当前文件夹开始,通过递归地移除未在版本控制下的文件来清理工作区

正常而言,只有git不识别的那些文件才会被移除,但是如果你指定了 -x 选项,那些被忽略的文件也能被移除。这能做什么呢?比如:对于移除所有已构建好的项目中文件(原文为:build products, 存疑,个人理解为已被发布的项目,由于英语中存在省略形式,故这里应该是省略了 files)是有用的

如果你加入了其中的<path>路径参数,那么就只有那些路径对应的文件才会收到影响

选项:

-d:

正常而言,当未指定<path>路径时,为了防止移除太多文件,运行git clean时将不会递归进入未跟踪的文件夹。指定 -d 让其递归进入这样的文件夹也是可行的。如果有指定任意的路径, -d 就不那么重要了;所有匹配指定路径的未跟踪文件(除了那些使用 --force 指明的嵌套的git文件夹)都将被移除

-f (--force):

如果git的配置变量 clean.requireForce未被设置为false,除非带上了 -f 或者 -i , git clean将拒绝删除文件或者文件夹。并且,除非你再加上一个 -f ,否则git仍会拒绝修改那些未跟踪的且嵌套的git仓库(子目录包含.git的文件夹)。

-i (--interactive):

展示将会被完成的内容以及交互式清理文件。详情可查看“交互模式”。

-n (--dry-run):

顾名思义,排练,即并不移除什么,只展示移完之后的结果。

-q (--quiet): 

顾名思义,安静,仅仅只展示报错信息,并不会将成功移除的文件展示出来。

-e <pattern> (--exclude=<pattern>): 

使用自己定义的忽略模式,但是除了那些标准的忽略规则(查看 gitignore(5)). // ps: 链接可通过git bash/powershell 下运行git clean --help查看对应消息

-x:

不使用那些标准的忽略规则(查看 gitignore(5)),但是可使用通过命令行 -e 选项配置的忽略规则。其允许移除未跟踪文件,包含已构建的项目中的文件。其能被用来创建一个崭新的工作文件夹(有可能同时设置在git restore 或是 git reset中)以测试干净的构建过程(此处可能有误

in conjunction with: 与...同时存在, pristine: 崭新的,本来的,原本的

-X:

仅仅移除被git忽略的文件。这也许有助于重构那些拼凑的,但是手动创建的文件

交互模式:

当键入了交互模式的命令后,其会展示那些要被清理的文件和文件夹,并进入其交互命令的循环中。

此时,其展示了可用的子命令列表,并给出 “what now”(当前处于什么状态) 的提示。一般而言,当提示以单>结尾后,你仅能选择上述给予的选项及类型之一予以返回,就像这样:

*** Commands ***
1: clean                2: filter by pattern    3: select by numbers4: ask each             5: quit                 6: help
What now> 1

你也可以键入上述提及的 c 或者 clean ,只要这类选项是已有的

主要的命令循环有6个子命令

clean:

开始清理文件和文件夹,然后退出

filter by pattern:

这个模式将展示要被删除的文件和文件夹,并能提示"Input ignore patterns>>"(即输入忽略的模式)。你可以键入以空格分隔的模式串来过滤掉其中的某些文件和文件夹。例如:(E.g.:for example, 例如"*.c *.h" 将会过滤掉删除文件夹中以 .c .h 结尾的文件,如果你对过滤结果满意,可以键入 ENTER 以回到主菜单。

select by numbers:

这个模式将展示要被删除的文件和文件夹,并能提示"Select items to delete>>"(即选择删除项)。当提示以双>>这样结尾后,你即可选择多于1个的选项,以空格或者逗号连接(concatenated with: 连接, comma: 逗号、停顿)。当然,你也能选择一个范围。例如:"2-5 7,9",以此可选择列表的 2, 3, 4, 5, 7, 9项。如果范围中的第二数值被遗漏了(omitted: 遗漏),那么其值之后的所有已存在项都将被选择。例如,"7-"会选择列表中的7,8,9项。你也可以使用 * 来选择所有项。如果你对过滤结果满意,可以键入 ENTER 以回到主菜单。

ask each:

其将会开始清理,并且你还必须得一项一项的确认以确定删除项。请注意这个操作没有同时执行2个操作以上一样高效。

quit:

其不做任何清理就直接离开

help:

简单展示交互模式下 git-clean 的使用

GIT:

git(1)系列之一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值