gpt4 book ai didi

git - 一个更好的方法来做 git clone

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

这是懒惰的程序员的要求。我想创建一个 shell 脚本来自动执行以下过程:

git clone <remote-repo-url>
cd <cloned-folder>
open <cloned-folder>

所以这里的想法是克隆一个URL然后立即cd进入cloned-folder .这里的技巧是识别 cloned-folder从 url 模式。

现在我们可以假设 url 结构在这个模式中 .../<cloned-folder>.git即 url。

我想知道我们是否真的可以使用 awk或类似的一些工具。我卡住的部分是找到合适的 regex ,我想。

用例:这里的用例是如果您克隆一个 url,您希望尽快进入 repo 文件夹。如果您想运行任何 git,这是先决条件命令类似 git logmate .我们 99% 的时间都这样做。

提前致谢。

最佳答案

执行此操作的 bash 函数(也适用于 zsh):

function lazyclone {
url=$1;
reponame=$(echo $url | awk -F/ '{print $NF}' | sed -e 's/.git$//');
git clone $url $reponame;
cd $reponame;
}

awk 命令打印最后一个 / 之后的部分(例如从 http://example.com/myrepo.gitmyrepo.git)。 sed 命令删除尾随的 .git

用法:

$ pwd
~/
$ lazyclone https://github.com/dbr/tvdb_api.git
tvdb_api
Cloning into 'tvdb_api'...
remote: Counting objects: 1477, done.
remote: Compressing objects: 100% (534/534), done.
remote: Total 1477 (delta 952), reused 1462 (delta 940)
Receiving objects: 100% (1477/1477), 268.48 KiB | 202 KiB/s, done.
Resolving deltas: 100% (952/952), done.
$ pwd
~/tvdb_api

关于git - 一个更好的方法来做 git clone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12058705/

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