git - Zsh 动态扩展到当前 git 根目录

标签 git zsh

在 Zsh 中,我可以获得当前的 Git 根目录:

% echo $(git rev-parse --show-toplevel)

我想通过触发器以某种方式动态扩展到该字符串。也就是说,我想将一些关键字符串无缝地扩展到“当前git repo root”,并继续从那里选择文件/目录。

例如,如果触发器是“grt”并且我输入:

% copy grt

选项卡,“grt”将替换为当前 git repo 根目录(如果当前目录中不存在“grt”文件/目录)。

感觉我必须以某种方式连接到完成系统。有什么提示吗?

最佳答案

一种方法是在 .zshrc 中设置一个函数,例如:

function grt()
{
    git rev-parse --show-toplevel
}

然后使用(两个例子):

cd $(grt)
cp file1 $(grt)

关于git - Zsh 动态扩展到当前 git 根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19760926/

相关文章:

bash - 读取发送到 xterm 的控制字符串的答案

github 如何修复错误 : refname refs/heads/new_branch not found

Git新手: Work flow for a one person project

linux - 是否可以在 shell (zsh) 中进行实时文本替换?

ZSH:输入时的行为

git - .zshrc 中的简单多行命令函数别名

git - 是否可以使用 Dropbox 托管一个裸 Git 存储库来共享代码?

git - 删除 git commit 的所有文件?

git - git 子模块是在工作副本中拥有工作副本的唯一安全方法吗?

zsh - 使用 oh-my-zsh 完成命令的参数