2017-08-07 110 views
-1

git回购有一个路径,其中不仅包括回购名称。我想知道是否有一种方法可以自动克隆一个存储库并包含完整的路径,这将帮助我对项目进行分类。克隆完整路径回购

例如,我想git clone [email protected]:scrooloose/nerdcommenter.git克隆到./scrooloose/nerdcommenter/而不是只是./nerdcommenter/

是否有一个标志git clone为此,或者我只需要手动执行它?

回答

0

假设你有[email protected]:scrooloose/nerdcommenter.git回购,你可以简单地做:

$ mkdir -p scrooloose/nerdcommenter 
$ git clone [email protected]:scrooloose/nerdcommenter.git scrooloose/nerdcommenter 

如果真的需要它可以很容易地编写脚本。

在git中拥有这样的逻辑没有太大的好处,因为您可以链接其他工具,如awk以满足您的需求。例如shell脚本这样做,说clone.sh

#/bin/bash 

set -e 

DST=`echo $1 | awk 'i=index($0,":") {print substr($0,i+1,length($0)-i-4)}'` 
mkdir -p $DST && git clone $1 $DST 

然后

./clone.sh [email protected]:scrooloose/nerdcommenter.git 

和你有好处。

+0

对,我知道。我想知道的是,如果这可以完成,而无需手动创建目录或编写脚本和别名'git clone'。 – ewok

+0

不,但您可以轻松编写简短的bash脚本来提取目录,生成,创建,猜测或制作目标目录。这种类型的逻辑实际上没有任何意义 –

+0

请参阅使用示例bash脚本编辑答案。 –