Linux git克隆并将cd放入其中

Linux git克隆并将cd放入其中,linux,bash,git,Linux,Bash,Git,如果我想在一行中创建一个目录并将其全部更改为目录,我可以这样做: mkdir dir\u name&&cd$\ucode> 如何对git clone执行相同的操作 命令“git clone repo\u url&&cd$\u”显然不起作用,因为没有像repo\u url这样的目录。但是,可以在一行中完成吗?如果您想自动查找名称,可以尝试以下操作: git clone http://repo_url.git && cd "$(basename "$_" .git)" 这样,您就不

如果我想在一行中创建一个目录并将其全部更改为目录,我可以这样做:

mkdir dir\u name&&cd$\ucode>

如何对git clone执行相同的操作


命令“
git clone repo\u url&&cd$\u
”显然不起作用,因为没有像
repo\u url
这样的目录。但是,可以在一行中完成吗?

如果您想自动查找名称,可以尝试以下操作:

git clone http://repo_url.git && cd "$(basename "$_" .git)"

这样,您就不必为git指定文件夹名,您可以为git clone命令添加目录名:

git clone repo_url my_repo_dirname && cd "$_"

将以下内容添加到
~/.bashrc
中。别忘了找到它的来源

function gccd { git clone "$1" && cd "$(basename $1)"; }
export -f gccd

gccd代表git克隆和cd。这是与别名等效的函数。现在您可以键入:
gccd
。它将完全满足您的需要。

考虑进一步简化它的使用,将其添加到
.bash\u配置文件中的函数中
任意命名的
gitclone
——类似于。例如:1)运行以下命令将
gitclone
函数附加到
.bash\u配置文件中:
echo$'\n'”函数gitclone(){.git clone\“\$1\”&&cd\“\$(basename\“\$\”.git)\“\\\\\\\\\\\\\\\\\\\\\\\$”return}>~/.bash\u配置文件
。2) 创建新会话并在将来运行简化命令:
gitclone”http://repo_url.git“
@chepner嗨,我能问一下你为什么编辑这个答案,在
$(basename$git)
周围加上双引号吗?我在另一个答案中这样做了
$\uu
引用上一个命令的最后一个参数,该答案使所需的目录名成为
git
命令的最后一个参数,因此您在问题中询问的用法可以使用。(原版也可以,但只需输入两次目录名即可。)@chepner对,是的,我明白了,我的评论出错,修复了它。我指的是你在这个答案上所做的编辑,当你在
$(basename$\ugit)
周围加上双引号时。如果完整的目录名包含任何字符,如果不加引号的话,将进行shell处理,这是一个很好的做法。(实际上,
$\uu
本身也应该被引用;我会解决这个问题。)