git commit 后,取消其中一个文件的提交

步骤 1:移除该文件的版本控制跟踪(不删除本地文件)

使用 git rm --cached 命令,该命令仅移除 Git 对该文件的跟踪 ,不会删除本地磁盘上的 model.safetensors 文件,执行以下命令(注意文件路径要和提交记录中的一致):

复制代码
git rm --cached ConVIRT_from_scratch/ViT_model/model.safetensors

执行后,Git 会标记该文件为 "已从版本控制中移除",但本地文件仍会保留。

步骤 2:修正最后一次提交(合并本次修改到上一个 commit)

因为你还没有 push 到远程,直接用 git commit --amend 修正最后一次提交记录,这样可以避免产生多余的 "移除文件" 提交记录,保持提交历史整洁:

复制代码
git commit --amend --no-edit
  • 说明 1:--no-edit 表示保留上一次 commit 的备注信息(即 utils:show process_img,patch_visilization,),无需重新输入。
  • 说明 2:如果想修改 commit 备注,可去掉 --no-edit,执行后会进入编辑器,修改完成后保存退出即可。

执行后,上一次的 commit 会被更新,其中不再包含 model.safetensors 文件,提交哈希值会发生变化(正常现象)。

相关推荐
kyriewen3 小时前
别再每次都 Google 了:我整理了前端日常最常踩的 10 个 Git 坑,附速查表
前端·javascript·git
A_Lonely_Cat2 天前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
和你看星星4 天前
Git rerere:让重复冲突只解决一次
git
嘻嘻仙人8 天前
Ubuntu中 git上传自己的项目和二次上传一般流程
git·github
Patrick_Wilson8 天前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员
沉浸学习的匿名网友8 天前
什么是 .gitignore?为什么每个 Git 项目几乎都离不开它?
前端·git
深海鱼在掘金9 天前
Git 完全指南 —— 第3章:理解工作区、暂存区、版本库三个核心
git
江华森9 天前
Git 基础筑基:从原理到团队协作的全栈实战
git
JakeJiang9 天前
Git 必备命令指南:从日常高频到项目开发实战
git
叫我少年10 天前
Windows 中安装 git
git