git repos的路径不仅包含repo名称。我想知道是否有办法自动让git clone存储库并包含完整路径,这将有助于我对项目进行分类。
例如,我希望git clone git@github.com:scrooloose/nerdcommenter.git
克隆到./scrooloose/nerdcommenter/
而不是./nerdcommenter/
。
git clone
中是否有标志,或者我必须手动执行此操作?
答案 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/
,请参阅此博文您需要创建一个配置文件,在其中指明您的仓库的位置(路径,不一定是已创建),先生将创建该路径并克隆您的仓库。它还可以帮助您保持最新的许多回购。