首页 > 其他分享 >通过Bat脚本获取Git某个账户下所有仓库的URL地址

通过Bat脚本获取Git某个账户下所有仓库的URL地址

时间:2024-08-24 10:04:19浏览次数:11  
标签:Bat Git URL 令牌 jq 访问 curl projects

一、需求来源

我个人之所以有这个需求,是因为我想定期备份我Git上的所有私人项目

二、前期必备

获取私人访问令牌

要获取GitLab账号的私有访问令牌,可以按照以下步骤进行操作:
1.打开GitLab网站并登录到你的账号。
2. 点击右上角的用户头像,然后选择"Settings"(设置)。
3. 在侧边栏中选择"Access Tokens"(访问令牌)。
4. 在"Name"(名称)字段中,为访问令牌输入一个描述性的名称,以便你能够识别它的用途。
5. 选择所需的访问权限(api选项通常足够获取仓库信息)。
6. 点击"Create Personal Access Token"(创建个人访问令牌)按钮。
7. GitLab将生成一个访问令牌,并在屏幕上显示给你。请注意,该令牌仅在生成时可见,无法在以后查看。确保复制令牌并妥善保存。
生成的访问令牌是私有且具有高度权限的凭据,请妥善保管,不要泄露给他人。使用访问令牌时,应遵循最佳安全实践。

检查 curl 工具:

1.打开命令提示符(在 Windows 上按下 Win + R,输入 "cmd",然后按 Enter)或终端窗口(在 macOS 或 Linux 上)。
2.输入 "curl --version"(不带引号)并按 Enter。
3.如果您看到 curl 的版本信息,表示 curl 工具已安装并可用。
4.否则,您将收到一条错误消息或提示没有找到 curl 命令。

对于 curl 工具,您可以访问 https://curl.se/windows/ 下载适用于 Windows 的 curl 安装程序,并按照安装向导进行安装。

检查 jq 工具:

  1. 打开命令提示符或终端窗口。
  2. 输入 "jq --version"(不带引号)并按 Enter。
  3. 如果您看到 jq 的版本信息,表示 jq 工具已安装并可用。
  4. 否则,您将收到一条错误消息或提示没有找到 jq 命令。

对于 jq 工具,您可以访问 https://stedolan.github.io/jq/download/ 下载适用于 Windows 的 jq 可执行文件,并将其放置在系统路径中,以便在命令提示符中直接调用。注意exe的名称,与后续脚本要保持一致。【如不能调用,请重启电脑】

三、Batch脚本

@echo off

set "private_token=<Access Tokens>"
set "gitlab_url=http://127.0.0.1:80/api/v4/"
set "output_file=url.bat"

REM 发起API请求,获取所有项目
curl -s --header "Private-Token: %private_token%" "%gitlab_url%projects" > projects.json

REM 解析JSON文件,提取仓库URL地址,并输出到文件
(for /F "tokens=1,2 delims=^," %%A in ('type projects.json ^| jq -r ".[].http_url_to_repo"') do (
    echo %%A
)) > %output_file%

REM 删除临时文件
del projects.json

echo 完成!URL地址已保存到 %output_file%
pause

标签:Bat,Git,URL,令牌,jq,访问,curl,projects
From: https://www.cnblogs.com/dizhilang/p/18377432

相关文章

  • 如何在 Git 中安全撤销提交与更改
    文章目录前言一、GitReset1.--soft:保留变更在暂存区2.--mixed(默认选项):保留变更在工作区3.--hard:彻底丢弃所有变更二、GitRevert1.撤销单个提交2.撤销多个提交3.撤销合并提交三、实际例子总结前言在团队开发和个人项目中,代码变更是不可避免的。有时我们可......
  • 实习生用mybatis的一个弱智问题硬控大哥半小时
    今天是我实习的第十天,顺利(其实一点也不顺利)完成了上次描述的接口任务。在距离下班不到10分钟的时候突然脑抽一下子,想启动一下写的项目。其实都已经测试没问题了,各个接口都是按预期输出,结果突然项目就启动失败了我瞬间傻眼开始疯狂流汗:好特码吓人啊...快速回想我都做了什么:1.把......
  • 基于gitlab钩子的自动CICD构建
    基于GitLab的钩子(Webhook)设置自动化CI/CD构建流程,可以让代码在每次推送到GitLab仓库时自动触发Jenkins构建任务,从而实现持续集成和持续交付。以下是一个常见的基于GitLab和Jenkins的自动化CI/CD流程设置步骤:1.在GitLab中配置Webhook登录GitLab,并导航到......
  • 当网站配置好https协议之后 全站url http怎么跳转到https
    如果是apache环境,在站点根目录下.htaccess文件里新增以下代码,具体位置请看参考下图:#http跳转到httpsRewriteCond%{SERVER_PORT}!^443$RewriteRule^(.*)$https://www.xxxxx.cn/$1[LR=301]当网站配置好了HTTPS协议之后,为了保证网站的安全性和统一性,通常会将所有的......
  • JDBC和Mybatis的区别
    jdbc和mybatis的区别功能和用途‌JDBC和MyBatis的主要区别在于它们的功能和用途。‌‌JDBC(JavaDatabaseConnectivity)是Java提供的一套用于连接数据库的接口规范,它允许Java程序与数据库进行交互。JDBC是一个底层的数据库访问技术,开发人员需要手动编写SQL语句并处理结果集的转......
  • P9640 [SNCPC2019] Digit Mode
    思路:定义\(F(l,r)\)表示若已经确定了\([1,l-1]\)的数,且\([l,r]\)没有限制的贡献数。设\(n\)的长度为\(len\),考虑先求出\([1,i](i\lelen-1)\)的贡献(是没有限制的),那么每次枚举第\(1\)位数字\(a_1\in[1,9]\),算上\(F(2,i)\)的贡献即可。则该情况贡献和为:\[\su......
  • 【OpenFeign】OpenFeign指定url方式调用
    OpenFeign一般是结合注册中心一起使用的,也就是可以通过提供服务的名称而不是url来完成对目标服务的访问。但是出于本地调试的需要,或者考虑到一些简单的服务可能并不需要依赖注册中心,所以本篇我们就讲解一下OpenFeign直接通过目标服务的url进行调用的方式。FeignClient注解......
  • Git GUI与命令全能操作,转载
    Git命令基本操作 GitGUI全能基本操作看https://blog.csdn.net/chehec2010/article/details/89950964  gui目录1、版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会......
  • MybatisPlus Caused by: org.apache.ibatis.builder.BuilderException: Error evalua
    报错信息:org.mybatis.spring.MyBatisSystemException:nullatorg.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97)atorg.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessi......
  • bat编程
    .bat文件(批处理文件)是Windows系统中用于自动化执行一系列命令的脚本文件。下面是一些.bat文件的基本语法和常用命令:1.注释使用REM命令或@echooff后面的行(在@echooff生效的情况下)来添加注释。注释不会被执行,仅用于说明。REM这是一个注释@echooff::这也是一......