git repos 的路径不仅仅包含 repo 名称。我想知道是否有一种方法可以自动让 git 克隆存储库并包含完整路径,这将帮助我对项目进行分类。
例如,我希望 git clone git@github.com:scrooloose/nerdcommenter.git
克隆到 ./scrooloose/nerdcommenter/
而不仅仅是 ./nerdcommenter/
.
git clone
中是否有用于此的标记,还是我必须手动执行此操作?
最佳答案
假设你有 git@github.com:scrooloose/nerdcommenter.git
repo 引用,你可以简单地做:
$ 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
你很好。
关于git - 克隆 repo 的完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45555303/