Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
聪明的git-add命令_Git_Glob - Fatal编程技术网

聪明的git-add命令

聪明的git-add命令,git,glob,Git,Glob,假设我们已经编辑了文件foo.c 可以编写git add foo*,但是如果我想编写git add*o*来减少击键,该怎么办?有什么方法可以在git CLI界面中获得这种行为吗?如果您在兼容POSIX的shell中工作(如Bash),那么这种方法已经是可行的。实际上,将foo*或*o*扩展到foo.c的是shell本身,而不是git客户端 但是请注意如果您碰巧有另一个与全局模式匹配的文件(例如,不被添加.c),它也会被添加。如果您在符合POSIX的shell中工作(如Bash),那么它已经是可能

假设我们已经编辑了文件foo.c


可以编写
git add foo*
,但是如果我想编写
git add*o*
来减少击键,该怎么办?有什么方法可以在git CLI界面中获得这种行为吗?

如果您在兼容POSIX的shell中工作(如Bash),那么这种方法已经是可行的。实际上,将
foo*
*o*
扩展到
foo.c
的是shell本身,而不是
git
客户端


但是请注意如果您碰巧有另一个与全局模式匹配的文件(例如,
不被添加.c
),它也会被添加。

如果您在符合POSIX的shell中工作(如Bash),那么它已经是可能的了。实际上,将
foo*
*o*
扩展到
foo.c
的是shell本身,而不是
git
客户端


但是请注意如果您碰巧有另一个与全局模式匹配的文件(例如,
不被添加。c
),它也会被添加。

您所要求的实际上是有效的

$ touch foo.c
$ touch bar.c

$ git status
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   bar.c
#   foo.c

$ git add *o*

$ git status
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#   new file:   foo.c
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   bar.c
$touch foo.c
$touch bar.c
$git状态
#未跟踪的文件:
#(使用“git add…”包含在将提交的内容中)
#
#酒吧c
#富科
$git添加*o*
$git状态
#要提交的更改:
#(使用“git rm--cached…”取消存储)
#
#新文件:foo.c
#
#未跟踪的文件:
#(使用“git add…”包含在将提交的内容中)
#
#酒吧c

你所要求的实际上是可行的

$ touch foo.c
$ touch bar.c

$ git status
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   bar.c
#   foo.c

$ git add *o*

$ git status
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#   new file:   foo.c
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   bar.c
$touch foo.c
$touch bar.c
$git状态
#未跟踪的文件:
#(使用“git add…”包含在将提交的内容中)
#
#酒吧c
#富科
$git添加*o*
$git状态
#要提交的更改:
#(使用“git rm--cached…”取消存储)
#
#新文件:foo.c
#
#未跟踪的文件:
#(使用“git add…”包含在将提交的内容中)
#
#酒吧c

您是否查看了git add-u以添加所有更新的文件?您还可以查看GitAdd-p以添加补丁集。如果您担心按键笔划,那么自动完成选项卡有什么问题?如果autocomplete不能确定它是什么,你就不能用更少的字符开发一个更高效的正则表达式。你看了git add-u来添加所有更新的文件吗?您还可以查看GitAdd-p以添加补丁集。如果您担心按键笔划,那么自动完成选项卡有什么问题?如果autocomplete无法确定它是什么,那么您就不会用更少的字符开发更高效的正则表达式。我必须指定我的问题:当我键入*o时,是否可以添加制表符完成支持?在使用git的默认git完成脚本时,我必须指定我的问题:当我键入*o时,是否可以添加选项卡完成支持?在使用git的默认git完成脚本时,我必须指定我的问题:当我键入*o时,是否可以添加选项卡完成支持?在使用git的默认git完成脚本时,我必须指定我的问题:当我键入*o时,是否可以添加选项卡完成支持?目前,我正在使用来自git的默认git完成脚本