我正在尝试将特定项目的连续快照放入 git 的历史记录中。我通过使用每个快照的内容填充存储库目录然后运行来执行此操作
git add -A .
git commit -m 'Version X'
这是推荐的方法这个答案 https://stackoverflow.com/a/3148117/20520。但是,我发现只有当 100% 的文件内容保持不变时,提交才会识别文件重命名。有没有办法影响重命名检测git commit
让它找到文件内容发生了一些变化的重命名?我看到git merge
and git diff
有各种用于控制重命名阈值的选项,但这些选项不存在于git commit
.
我尝试过的事情:
- 使用自制脚本找到重命名的文件,并在提交新文件内容之前将原始文件重命名为新位置来执行提交。然而,这引入了人工提交,并且看起来不太优雅,因为它没有使用 git 的重命名检测功能。
-
为每个快照创建一个单独的分支,然后将连续的分支合并到master
using
git merge -s recursive -Xtheirs -Xpatience -Xrename-threshold=20
然而,这让我保留了旧版本的重命名文件,同时也无法检测到重命名。
git commit
从不检测重命名。它只是将内容写入存储库。重命名(以及副本)仅在事后(即运行时)检测到git diff
, git merge
和朋友。那是因为git
不存储任何重命名/复制信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)