克隆与回购的完整路径

时间:2017-08-07 20:35:57

标签: git

git repos的路径不仅包含repo名称。我想知道是否有办法自动让git clone存储库并包含完整路径,这将有助于我对项目进行分类。

例如,我希望git clone git@github.com:scrooloose/nerdcommenter.git克隆到./scrooloose/nerdcommenter/而不是./nerdcommenter/

git clone中是否有标志,或者我必须手动执行此操作?

2 个答案:

答案 0 :(得分:1)

假设你有git@github.com:scrooloose/nerdcommenter.git个回购参考,你可以这样做:

$ mkdir -p scrooloose/nerdcommenter
$ git clone git@github.com: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}" 

然后(明显chmod之后):

./clone.sh git@github.com:scrooloose/nerdcommenter.git

你很好。

答案 1 :(得分:0)

对于组织和维护更新的存储库非常有用的一个工具是mr(http://myrepos.branchable.com/)。有关详细信息http://odinodin.no/2013-11-23-multiple-repositories/

,请参阅此博文

您需要创建一个配置文件,在其中指明您的仓库的位置(路径,不一定是已创建),先生将创建该路径并克隆您的仓库。它还可以帮助您保持最新的许多回购。