You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将带日期命名的多版本Excel文件作为同一文件提交至GitHub?

解决方法:将多版本Excel归档为Git同一文件的历史版本

先修正你脚本的核心问题

你的脚本无法运行主要是语法错误(引号不匹配)+日期转换逻辑错误+参数使用不当,直接用下面的修正版脚本即可解决:

操作步骤

  1. 把所有10个Excel文件放到一个单独的文件夹,打开终端进入该文件夹
  2. 初始化Git仓库(如果还没弄的话):
git init
  1. 执行以下修正后的脚本:
# 按日期顺序遍历文件(确保从最早版本到最晚版本提交)
for file in $(ls -v *.xlsx); do
    # 提取文件名里的归档日期(前6位)
    date_str=${file:0:6}
    # 转换为Git识别的YYYY-MM-DD格式
    git_date="20${date_str:0:2}-${date_str:2:2}-${date_str:4:2}"
    # 重命名为目标文件名
    mv "$file" "SLR Adversity - Analysis.xlsx"
    # 把文件加入Git暂存区
    git add "SLR Adversity - Analysis.xlsx"
    # 提交,设置提交日期为原归档日期,提交信息标注版本日期
    git commit --date="$git_date" -m "Version $date_str"
done
  1. 推送到GitHub仓库:
# 替换为你的GitHub仓库地址
git remote add origin https://github.com/你的用户名/你的仓库名.git
git push -u origin main

脚本修正说明

  • 按日期顺序处理:用ls -v确保文件从最早的YYMMDD到最晚的被遍历,保证Git历史时间线正确
  • 简化日期提取:直接用字符串截取${file:0:6}获取日期,比sed更可靠
  • 正确的日期格式转换:把YYMMDD转为20YY-MM-DD,符合Git的日期要求
  • 修复提交参数:用--date设置提交的历史日期(而非--author-date,后者是修改作者的提交时间,没必要),同时修正了原脚本的引号不匹配问题
  • 清晰的提交信息:用Version XXXXXX标注每个版本对应的归档日期,方便后续查看历史

原脚本的问题点

  1. git commit命令里的引号未闭合,导致语法错误,循环无法正常执行
  2. sed日期转换逻辑颠倒,把YYMMDD转换成了20DD-MM-YY,日期完全错误
  3. 错误使用--author-date参数,应该用--date来设置提交的历史时间
  4. 未按日期顺序遍历文件,可能导致Git历史时间线混乱

内容的提问来源于stack exchange,提问作者flxflks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 09:35:30