提交中包含 Git 重命名吗?



我已经玩了一段时间的 Git,但我还没有找到对重命名技术细节的良好解释。

我一直认为重命名以某种方式在提交中标记,以便节省空间,并且可以在重命名之前跟踪文件的历史记录。我很惊讶地发现选项--find-renames包含在git loggit show中,但不包含在git add或类似文件中,所以我想知道,它是否真的只是一种呈现提交更改的方式,或者重命名 Git 中的文件是否有一些特别之处

我面临着一个相关的问题。我想将 YAML 文件转换为 JSON 文件,其中包括更改内容(更具体地说,更改原始文件的每一行(以及重命名(更改扩展名(。另一方面,我认为这确实是一个重命名;在搜索 JSON 的历史记录时,您还应该找到 YAML 的历史记录。

取决于第一个问题的答案:在搜索 JSON 的历史记录时,是否可以通过强制将转换标记为重命名或以某种方式指示git log显示它来找到 YAML(我没有成功git log --follow -M0(?

Git 跟踪内容,而不是文件,并根据内容自动确定相似性。如果文件合理相似,则会将其跟踪为重命名(如果原始文件已被删除(或以其他方式复制。也就是说,您不能强制 Git 将任意不相似/不同的文件视为重命名。

最新更新