gpt4 book ai didi

windows - 转换 : GIT SHELL to GIT BATCH script

转载 作者:行者123 更新时间:2023-12-04 19:17:11 24 4
gpt4 key购买 nike

我需要一些帮助,因为我也想在 Windows 中运行它,所以我如何将这段代码从 shell 脚本编辑为批处理脚本。

 #!/bin/bash
commit_limit='4'
log=`git show HEAD~$commit_limit --pretty=format:"%H" --no-patch`

echo $log > .git/info/grafts
git filter-branch -f -- --all
rm .git/info/grafts
git update-ref -d refs/original/refs/heads/master
git reflog expire --expire=now --all
git gc --force --prune=now --aggressive
git push --force origin $branch

我试过这个,但它给了我一个输出 "H"而不是 “9b027aaccb996ae4895e4dfb428c5e6e24870e68”
SET commit_limit=4
git show HEAD~%commit_limit% --pretty=format:"%H" --no-patch
pause

最佳答案

  • 在变量中,您必须用双百分号转义百分号( % )
    (%%)。
  • 替换 /\del命令。
  • $branch是一个
    shell 变量。我修复了批处理语法 %branch% , 你必须编辑
    这个变量。

  • @echo off

    setlocal
    rem edit branch variable
    set "branch=branch"

    set "commit_limit=4"
    set "log=git show HEAD~%%commit_limit%% --pretty=format:"%%H" --no-patch"

    %log% > .git\info\grafts

    git filter-branch -f -- --all
    del .git\info\grafts
    git update-ref -d refs/original/refs/heads/master
    git reflog expire --expire=now --all
    git gc --force --prune=now --aggressive
    git push --force origin %branch%

    进一步阅读:
  • Converting DOS Batch Files to Shell Scripts
  • http://www.robvanderwoude.com/escapechars.php
  • Quotes, Escape Characters, Delimiters
  • https://duckduckgo.com/?q=batch+escaping+characters
  • 关于windows - 转换 : GIT SHELL to GIT BATCH script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33430150/

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