You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免GitHub将test2.py识别为test1.py的移动文件?

避免Git将复制文件识别为移动文件的方案

Git是靠文件内容相似度来判断是否为移动/重命名操作的,要避免它把test2.py识别成test1.py的移动版本,试试这几个实用方法:

方法一:拆分两次提交

  • 第一步:复制test1.py到目标位置命名为test2.py,删除原test1.py,执行 git add . 后提交,提交信息可以写“复制test1.py为test2.py并删除原文件”
  • 第二步:修改test2.py的目标行,执行 git add test2.py 后再次提交,提交信息写“修改test2.py指定行内容”
  • 拆分提交后,Git会把删除原文件和新增副本视为独立操作,后续的修改也不会和原文件关联,合并时就不会触发移动识别的冲突

方法二:先修改副本再提交所有变更

  • 复制test1.py得到test2.py后,先修改test2.py的目标行,再删除原test1.py
  • 执行 git add . 后一次性提交,提交信息可以写“新增test2.py(基于test1修改一行)并删除test1.py”
  • 此时test2和test1的内容已经存在差异,Git的相似度检测不会判定这是移动操作,而是独立的新增+删除

方法三:强制关闭重命名检测提交

  • 复制test1.py为test2.py并删除原文件后,执行 git add --no-renames . 命令,这个参数会强制Git跳过重命名/移动识别,把删除和新增当成两个独立变更
  • 提交之后再修改test2.py的内容并单独提交即可

内容的提问来源于stack exchange,提问作者Real Programmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 06:38:14