如何仅提交部分新增Git文件并忽略已修改的受感染文件?
解决Git部分提交需求的方案
没问题,我来帮你搞定这个Git提交的小难题!你想要提交新增的文件,同时保留仓库里被病毒感染文件的旧版本,完全不用删除仓库里的文件,这有几个简单的方法可以实现:
1. 核心操作:只暂存需要提交的新增文件
你已经做对了第一步——把要提交的新增文件添加到暂存区:
git add path/to/your/new_files
这里的path/to/your/new_files替换成你实际的新增文件路径,也可以用.匹配当前目录下的所有新增文件(但要确保不会包含那些感染的已修改文件)。
2. 直接提交已暂存内容(最简单的方式)
Git的提交逻辑是只提交你已经用git add暂存的文件,所以只要你没把那些感染的已修改文件加入暂存区,直接执行提交命令就只会提交你想要的新增文件:
git commit -m "提交新增功能文件"
执行完这个命令后,那些被感染的文件会留在本地(保持你现在的损坏状态),但仓库里的版本依然是之前的正常版本,完全符合你的需求。
3. 误操作补救:取消暂存感染文件
如果你不小心把感染文件也加到了暂存区,别担心,用下面的命令就能把它们从暂存区移除,同时保留本地的修改:
git restore --staged path/to/infected_files
这个命令只会修改暂存区的状态,不会影响本地文件和仓库里的版本,非常安全。
4. 进阶技巧:临时忽略感染文件的修改
如果你之后不想每次git status都看到这些感染文件的修改提示,可以让Git暂时忽略它们的本地变化:
git update-index --assume-unchanged path/to/infected_files
等你之后修复了这些文件,想要重新让Git追踪它们的修改时,再执行:
git update-index --no-assume-unchanged path/to/infected_files
这个操作只是让Git“假装”这些文件没有被修改,不会改变仓库里的任何内容,也不会删除本地文件,完美适配你的场景。
内容的提问来源于stack exchange,提问作者Aerodynamika
相关产品推荐
相关产品推荐

