gpt4 book ai didi

git - 如何确定 git 存储库的 "humanish"部分

转载 作者:太空狗 更新时间:2023-10-29 13:46:01 25 4
gpt4 key购买 nike

如果我像这样克隆一个 git 存储库

git clone <some-repository>

git 创建一个目录,命名为源存储库的“人性化”部分。 (根据手册页)。

现在我想创建一个 bash 脚本来克隆一个存储库,'cds' 到新创建的目录中,并做一些事情。有没有一种简单的方法可以让 bash 脚本知道所创建目录的名称,而无需为“git clone”命令明确提供目录?

最佳答案

要添加到 Hiery 的回答中,您将在 git 存储库本身中找到一个完整的 shell 脚本示例:
contrib/examples/git-clone.sh , 与 relevant extract :

# Decide the directory name of the new repository
if test -n "$2"
then
dir="$2"
test $# = 2 || die "excess parameter to git-clone"
else
# Derive one from the repository name
# Try using "humanish" part of source repo if user didn't specify one
if test -f "$repo"
then
# Cloning from a bundle
dir=$(echo "$repo" | sed -e 's|/*\.bundle$||' -e 's|.*/||g')
else
dir=$(echo "$repo" |
sed -e 's|/$||' -e 's|:*/*\.git$||' -e 's|.*[/:]||g')
fi
fi

请注意,它考虑了克隆 bundle (这是一个作为一个文件的 repo ,在使用 repository in the cloud 时很有用)。

关于git - 如何确定 git 存储库的 "humanish"部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13839879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com