【问题标题】:Clever git add command聪明的 git add 命令
【发布时间】:2014-04-28 08:13:46
【问题描述】:

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

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

【问题讨论】:

  • 你看过 git add -u 添加所有更新的文件吗?您还可以查看 git add -p 以添加补丁集。
  • 如果您担心击键,自动完成选项卡有什么问题?如果自动完成无法确定它是什么,那么您就不会用更少的字符开发更高效的正则表达式

标签: git glob


【解决方案1】:

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

请注意,如果您碰巧有另一个文件匹配通配符模式(例如not-to-be-added.c),它也会被添加。

【讨论】:

  • 我必须指定我的问题:当我输入 *o 时是否可以添加制表符补全支持?目前我正在使用来自 git 的默认 git-completion 脚本
【解决方案2】:

你所要求的确实有效。

$ 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

【讨论】:

  • 我必须指定我的问题:当我输入 *o 时是否可以添加制表符补全支持?目前我正在使用来自 git 的默认 git-completion 脚本
猜你喜欢
  • 2014-11-11
  • 1970-01-01
  • 2017-09-26
  • 2015-10-13
  • 2013-03-29
  • 2012-03-09
  • 1970-01-01
  • 2013-06-02
  • 2019-06-21
相关资源
最近更新 更多