Git使用经验总结7-自动检测未提交内容并进行提交
标题有点绕,其实是这个意思:远端像Github这样的仓库由于网速的问题,你是没办法进行大数据量的提交的,因为很有可能会因为连接超时而导致提交中断。对于这种情况就需要使用脚本,检查未提交内容,分批次进行多次提交。例如笔者使用的PowerShell脚本如下:
# 获取当前未提交的 .tif 文件列表
$files = git status --porcelain | Where-Object { $_ -match '\.tif$' } | ForEach-Object { $_.Substring(3).Trim() }
# 判断是否有未提交的文件
if ($files.Count -eq 0) {
Write-Host "No Need Commit Files!"
exit
}
# 遍历每个文件,进行提交和推送
foreach ($file in $files) {
Write-Host "Commit File: $file"
# 添加文件到暂存区
git add $file
# 提交文件
git commit -m "Commit File $file"
# 推送到远程仓库
git push origin main # 请根据你的远程分支名称进行修改
}
Write-Host "All File Commit And Push!"
这里脚本的意思是找到未提交的后缀为.tif数据文件,将这些文件一个一个进行提交。提交的脚本很简单,就是调用git指令。关键在于要获取git status --porcelain
返回的文件内容,并对其进行选取,并用了正则表达式进行匹配。读者可以根据自己的条件进行改写,如果不会写就问一问AI吧。
笔者使用这个脚本将70G的SRTM数据提交到Github代码仓库中去了,有兴趣的读者可以看看:地址。提交完成后整个仓库的体积超过了140G😓,看来Git仓库确实不太适合管理二进制数据,这样傻的时候以后还是不要做了,就算上传成功了以后下载下来也是个麻烦事情。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体
2023-09-06 Git使用经验总结3-删除远端提交记录