【问题标题】:Update all git repos in a folder in windows更新 Windows 文件夹中的所有 git 存储库
【发布时间】:2015-11-23 17:36:55
【问题描述】:

This 答案是针对 linux 命令行的。我需要同样的 Windows 命令行。我使用this 创建了以下内容,但我的代码不起作用。

for /D /r %i in (*.*) do (cd %i && echo %i && git pull && cd ..)

更新

根据@SevenEleven 的回答和@kostix 的评论,以下内容有效。

for /D %%i in (.\*) do (cd "%%i" && git pull && cd..)

for /D %%i in (*) do (cd "%%i" & git pull && cd..)

【问题讨论】:

    标签: windows git command-line


    【解决方案1】:

    这应该可以完成工作:

    for /D %%i in (.\*) do (cd %%i && echo %%i && git pull && cd ..)
    

    此脚本搜索当前目录 (for /D %%i in (.\*)) 的子目录。它会更改找到的每个目录 (cd %%i),将其名称写入控制台 (echo %%i) 并执行 git pull

    /r 也会搜索所有子目录。由于您不想搜索项目子目录,因此不需要。如果搜索绝对路径,可以去掉cd ..

    【讨论】:

    • @stat-r,需要注意的一点是%%是针对batcn文件的;如果您想首先以纯 cmd.exe 进行测试,请使用单个 %。另一件事是,我会用双引号将每个 %%i 括起来——以捕捉目录名称中包含空格的可能情况。
    • @Stat-R 是的,没错。那是因为相对路径。如果您在绝对路径中搜索,则此示例应在没有 cd .. 的情况下工作
    猜你喜欢
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 2014-09-06
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    相关资源
    最近更新 更多