Git中如何不暂存未追踪文件?附git status输出示例
在Git中避免暂存未追踪文件的几种方法
嘿,我来帮你搞定这个问题!从你贴的git status输出来看,你现在有一个已追踪且修改过的文件,还有一些未被Git记录的未追踪文件,不想把后者暂存对吧?下面是几个实用的解决办法:
1. 精准暂存单个/指定文件
最直接的方式就是只暂存你需要的已修改文件,而不是用git add .或git add *这种会批量包含未追踪文件的命令。比如针对你当前的情况,只暂存那个修改过的Java文件:
git add xyz/src/main/java/com/draglet/domain/order/LocalOrderImpl.java
这样操作后,只有这个已追踪的修改文件会被加入暂存区,未追踪的文件完全不会被触及。
2. 用.gitignore永久忽略未追踪文件
如果你不想让某些文件/目录永远出现在git status的未追踪列表里,也不想不小心暂存它们,可以创建一个.gitignore文件,把这些文件的路径写进去。比如:
- 要忽略某个具体文件,就在
.gitignore里写:new_untracked_file.txt - 要忽略整个目录,就写:
temp_files/ - 还可以用通配符批量忽略,比如忽略所有
.log文件:*.log
创建并配置好.gitignore后,Git就会自动忽略这些文件,它们不会再出现在git status里,自然也不会被误加进暂存区。
3. 误加未追踪文件后的补救
如果不小心用git add .把未追踪文件也暂存了,别慌,可以用以下命令取消暂存:
# 取消所有暂存的文件(包括已修改和未追踪的),之后重新精准添加需要的文件 git reset # 或者只取消某个特定未追踪文件的暂存状态 git reset -- path/to/untracked_file
执行后,未追踪文件就会回到原来的状态,你再重新操作即可。
内容的提问来源于stack exchange,提问作者Arefe
相关产品推荐
相关产品推荐

