我在GitHub 中有以下设置
GitHub主存储库:QAScript1.sql与oldData
GitHub开发人员存储库:我用newData更新了QAScript1.sql,添加了新文件ProdScript1.sql(内容与QAScript1.sql相同(,并提交了这两个文件-Commit1
删除了QAScript1.sql-Commit2
提出PR以从GitHub开发库合并到GitHub主存储库
现在,当我看到公关->文件更改部分,我看到了QAScript1.sql->ProdScript1.sql,我称之为QAScript1.sql文件已移动到ProdScript1.sql
我的问题是
i( 它们都是两个不同的文件-QAScript1.sql,ProdScript1.sql。为什么Github将其视为文件移动,而不是将其视为新文件添加和旧文件删除。
ii(在上述情况下,Git如何识别fileMove?
Git不记得副本和重命名。相反,它用启发式方法来检测它们。Git认为QAScript1.sql和ProdScript1.sql非常相似,可能是一个重命名。
有时这是错误的。没关系,没有区别。变革的历史仍然存在。Github只是向您展示合并的最终结果。它是用一个git mv
完成的,还是像您所做的那样通过多个提交完成的,都无关紧要。
请参阅git-diff
的--find-renames
和find-copies
了解更多信息。