zoukankan      html  css  js  c++  java
  • 自动更新本地 GIT 仓库

    随着开源软件的兴起,尤其是 GITHUB 的蓬勃发展,很多开源软件都通过 GIT 进行管理,在我的计算机上就一个目录是我关注并使用的开源软件 GIT 本地副本,如何定期更新这些仓库,一个个的更新太累人了,那不是一个合格的程序员干的活,肯定要写脚本来处理啦,首先是在 windows 平台上,那就用 bat 来处理吧,随说没有 shell 脚本强大,对付目前我的需求还是可以的。

    考虑到开源仓库的目录包含不同的层次,例如在 Images 目录下就有各种开源的图形库,因此要能够自动找出所有 GIT 仓库,哪怕是在子目录里面,然后对每一个 GIT 仓库进行 git pull 操作,这样一个批处理直接搞定

    下面就是完成的批处理文件

    @ IF $%1 == $ GOTO GITDIR
    
    :UPDATE
    @ SET REPOS=%1
    @ CD %REPOS:~0,-5%
    @ ECHO Pulling [%CD%] ...
    @ git pull
    @ GOTO FINISH
    
    :GITDIR
    @ FOR /F %%I IN ('DIR /B /S /AD .git') DO @ CALL %0 %%I
    
    :FINISH
    @ CD %~DP0

    其中需要注意的是

    1、找到 GIT 仓库,使用 DIR 查找 .git 目录的方法找出所有的 git 仓库

    2、进入正确的目录,使用 @ CD %REPOS:~0,-5% ,将目录字符串后面的 /.git 去除掉

    3、更新仓库后需要回到批处理文件所在的目录

    当然可以把更新仓库的代码直接写在 FOR 语句里面,这就是个人喜好问题了

  • 相关阅读:
    aspnetcore identity result.Succeeded SignInManager.IsSignedIn(User) false?
    RFID
    window 关机
    有赞零售小票打印图片二值化方案
    条码打印
    音频基本概念
    2008R2 部署 aspnetcore repair failed 函数不正确
    IIS 字符串过长
    解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json
    book
  • 原文地址:https://www.cnblogs.com/WonKerr/p/auto_pull_git_repos_in_subdir.html
Copyright © 2011-2022 走看看