10

我正在做一个 git 项目。由于我有很多文件夹深度,我想改进我的自动完成以使用文件名而不仅仅是路径。

这是一个例子:

$git status                                                                                                                        1 ↵  ✹master 
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   app/src/main/java/fr/pasteque/client/BaseFlavor.java
    modified:   app/src/main/java/fr/pasteque/client/widgets/RestaurantTicketsAdapter.java

no changes added to commit (use "git add" and/or "git commit -a")

我显然必须添加一个文件:

git add app/src/main/java/fr/pasteque/client/BaseFlavor.java

但我希望能够写:git add BaseFlavor.java

git add **/BaseFlavor.java作品!

但是完成,就像git add **/Base<tab>,不..

任何想法如何完成?

提前致谢!

4

3 回答 3

2

尝试git add **/Base*<tab>(注意额外的*)。

于 2015-08-03T14:06:00.590 回答
0

这是一个非常方便的 bash 脚本,可以帮助您:http ://code-worrier.com/blog/autocomplete-git/

您不能使用git add **/filename*git add <tab>只为您提供准备提交、未跟踪、合并冲突等的文件和路径。

从 10.3.2020
bash 脚本源编辑:https ://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash

然后只需编辑您.bashrc的如下

if [ -f ~/pathto/.git-completion.bash ]; then
  . ~/pathto/.git-completion.bash
fi  
于 2017-09-22T08:09:06.437 回答
0

我知道这不是问题的确切答案,但 Facebook 提供了一个非常方便的工具 - PathPicker - 您可以选择要添加的修改后的文件。

于 2017-09-22T08:13:57.143 回答