如果我想在一行中创建一个目录并将目录更改为所有目录,我可以执行以下操作:
mkdir dir_name && cd $_
我怎样才能做同样的事情git clone
?
命令 ,git clone repo_url && cd $_
显然不起作用,因为没有这样的目录repo_url
. 但是有可能在一行中完成吗?
如果您想自动查找名称,您可以尝试以下操作:
git clone http://repo_url.git && cd "$(basename "$_" .git)"
Run Code Online (Sandbox Code Playgroud)
这样您就不必将文件夹名称指定为git
.
您可以为 git clone 命令添加目录名称:
git clone repo_url my_repo_dirname && cd "$_"
Run Code Online (Sandbox Code Playgroud)
我真的不喜欢具有特殊名称的别名,例如cdls
或gitclone
因为在新系统上我不记得原始命令。这就是为什么我喜欢以下别名解决方案:
## git extra features
# - clone + cd
function git() {
if [ $1 = "clone" ]
then
command git $@ && cd "$(basename "$_" .git)"
else
command git $@
fi
}
Run Code Online (Sandbox Code Playgroud)
using 调用command
原始git
命令,而不是文件中的此命令~/.bashrc
。