使用别名简化克隆

时间:2018-11-24 22:26:14

标签: git

我想创建一个看起来像这样的别名:

alias getres="git clone https://github.com/user/"

目标是我可以键入“ getres存储库名称”并获取存储库。

无论如何,

键入“ getres存储库名称”

给我一​​个错误,指出找不到笔迹。

3 个答案:

答案 0 :(得分:3)

发生这种情况是因为getres repository name被翻译为:

git clone https://github.com/user/ repository name

,这意味着您在https://github.com/user/repository name之间有一个空格字符,这完全弄乱了您的URL。

您的问题的解决方案是创建一个bash脚本,该脚本接受1个参数(存储库名称),然后在您的别名中使用该脚本。

请参阅Make a Bash alias that takes a parameter?

答案 1 :(得分:3)

您所追求的只是别名的范围之外,别名仅适用于最简单的情况。您需要一个getres() { git clone https://github.com/user/$*; }

的shell函数

答案 2 :(得分:0)

我刚刚遇到了同样的问题。

对于使用zsh / oh-my-zsh / iterm2(1,2,3)的用户

我用以下内容更新了.zshrc文件:

function getrep(){
    git clone https://github.com/USERNAME/$1.git
}

由于我很懒,我在末尾添加了“ .git”。

用例只是从终端“ getrep REPNAME”复制到您正在使用的当前文件夹中。

(1)https://www.zsh.org/

(2)https://ohmyz.sh/

(3)https://iterm2.com/