一个针对于git的快速提交脚本.bat

为了每次不打开终端或者git bash,

特此写了个bat脚本。

方便提交内容。

@echo off  

chcp 65001  
  
title GIT一键提交  
color 0D  
echo 当前目录是:%cd%  
echo;  


echo; 

echo see.查看命令
echo f. 快速提交  
echo 1. 添加变更:git add .  
echo 2. 提交变更  
echo 3. 推送到远程主分支  
echo 4. 切换到主分支  
echo 5. 拉取远程主分支  
echo 6. 主分支合并分支  
echo 7. 拉取远程主分支到本地分支  
echo q. 取消代理
echo X. 退出

echo; 

:continue
set /p choice=请输入数字选择操作:  
echo; 

if "%choice%"=="see" (  
echo f. 快速提交  
echo 1. 添加变更:git add .  
echo 2. 提交变更  
echo 3. 推送到远程主分支  
echo 4. 切换到主分支  
echo 5. 拉取远程主分支  
echo 6. 主分支合并分支  
echo 7. 切换到分支  
echo 8. 拉取远程主分支到本地分支  
echo q. 一键取消代理
echo X. 退出  
echo;  
    goto :continue  
)  

if "%choice%"=="f" (  
    echo 开始添加变更:git add .  
    git add .  
    git commit -m "bat批处理自动推送:%date:~0,10%,%time:~0,8%"  
    git push -u origin main
    echo;  
    goto :continue  
)  

if "%choice%"=="1" (
    echo 开始添加变更:git add .
    git add .
    echo;
    goto :continue
)

if "%choice%"=="2" (
    echo 提交变更:git commit -m "bat批处理自动推送:%date:~0,10%,%time:~0,8%"  
    git commit -m "%declation%"
    echo;
    goto :continue
)

if "%choice%"=="3" (
    echo 将变更情况推送到远程自己分支:git push -u origin main
    git push -u origin main
    echo;
    goto :continue
)

if "%choice%"=="4" (
    echo 切换到主分支:git checkout main
    git checkout main
    echo;
    goto :continue
)

if "%choice%"=="5" (
    echo 本地主分支拉取远程主分支:git pull origin main
    git pull origin main
    echo;
    goto :continue
)

if "%choice%"=="6" (
    
    set /p remoteBranch=请输入远程分支:
    echo 主分支合并分支:git merge %remoteBranch%
    git merge %remoteBranch%
    echo;
    goto :continue
)

if "%choice%"=="7" (  
    echo 请输入要拉取的远程分支和本地分支名称:  
    set /p remoteBranch=请输入远程分支:   
    set /p localBranch=请输入本地分支:   
    echo 本地分支拉取远程主分支:%localBranch%:git pull origin %remoteBranch%  
    git pull origin %remoteBranch%  
    goto :continue  
)  

if "%choice%"=="q" (  
    echo  正在取消代理!
    git config --global --unset http.proxy
    git config --global --unset https.proxy
    echo 执行完毕!
    goto :continue  
)  

if "%choice%"=="X" (
    echo 退出!
    goto :eof
)

:eof
echo 按任意键自动退出!
echo;

pause

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 这是一个示例脚本: ``` @echo off setlocal enabledelayedexpansion rem 设置目录路径 set dir_path=C:\my_projects rem 遍历目录下的子目录 for /D %%i in ("%dir_path%\*") do ( rem 进入子目录 pushd %%i rem 执行 git pull git pull rem 退出子目录 popd ) endlocal ``` 该脚本将遍历 `C:\my_projects` 目录下的所有子目录,并在每个子目录中执行 `git pull` 操作。 在命令行中运行该脚本,可以使用如下命令: ``` C:\> update_repos.bat ``` ### 回答2: 可以使用以下脚本循环遍历目录并执行更新git仓库的操作: ``` @echo off setlocal enabledelayedexpansion rem 设置目录路径 set "dir_path=C:\Your\Directory\Path" rem 遍历目录 for /r "%dir_path%" %%F in (.) do ( rem 检查是否为git仓库 cd "%%~fF" if exist ".git" ( rem 更新git仓库 git pull origin master echo Updated git repository: %%~fF ) ) endlocal ``` 将以上脚本保存为`.bat`文件,然后将`dir_path`变量设置为你要遍历的目录路径。脚本将递归地遍历该目录及其子目录,并检查每个目录是否为git仓库。如果是,则执行`git pull origin master`命令以更新仓库。在每次更新后,脚本将输出已更新的git仓库的路径。 ### 回答3: 以下是一个循环遍历目录并执行更新git仓库的bat脚本的示例: @echo off setlocal EnableDelayedExpansion rem 设置目录路径 set "rootDir=C:\your\root\directory" rem 遍历目录 for /r "%rootDir%" %%A in (*) do ( rem 判断是否为目录 if /I "%%~A" neq "%rootDir%" ( rem 进入目录 cd "%%~dpA" rem 判断是否为git仓库 if exist ".git" ( rem 更新git仓库 git pull ) ) ) endlocal exit 请注意,执行此脚本前,请确保已经正确安装和配置了Git,并且Git命令可以在命令行中正常执行。 脚本首先使用setlocal EnableDelayedExpansion命令启用延迟扩展,然后设置了一个rootDir变量,该变量存储了需要遍历的目录的路径。 接下来使用for /r命令递归遍历指定目录(包括所有子目录)。对于每个遍历到的文件或目录,首先通过if /I命令判断是否为目录。如果是目录,则进入该目录,然后通过if exist命令判断该目录是否为git仓库。如果是git仓库,则执行git pull命令来更新git仓库。 最后,使用endlocal命令结束延迟扩展,并使用exit命令退出脚本的执行。 这样,脚本就可以循环遍历指定目录及其子目录,并执行更新git仓库的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值