如何在`git commit --dry-run -a`类命令中包含未追踪文件并预览文件移动检测
解决Git预览文件移动识别的方案
以下几个方法可以帮你确认Git是否将文件识别为移动而非删除后新增:
用
git add -N标记未追踪文件后查看状态
如果你手动移动了文件,新位置的文件属于未追踪状态,先执行:git add -N 新位置/文件名这个命令会将未追踪文件标记为「待追踪」但不会实际暂存内容,之后执行
git status,如果Git识别到移动,会显示类似:renamed: 原位置/文件名 -> 新位置/文件名暂存后查看状态再撤销
直接执行git add .暂存所有变更,然后用git status查看是否显示移动记录。如果确认后不想保留暂存,执行git reset即可撤销所有暂存操作,不会影响本地文件。用
git mv模拟移动操作
如果还没手动移动文件,可以用git mv的dry-run模式预览:git mv --dry-run 原位置/文件名 新位置/文件名命令输出会直接显示是否执行移动操作,Git会自动识别这种方式的移动。
查看暂存区的diff
暂存变更后,执行git diff --cached --name-status,如果是移动,输出会显示R标记,格式为:R100 原位置/文件名 新位置/文件名其中
R100表示文件100%匹配,确认是移动而非删加。
内容的提问来源于stack exchange,提问作者Slbox
相关产品推荐
相关产品推荐

