Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git相似性指数75%是否意味着git认为我已经重命名了一个文件?_Git_Git Diff - Fatal编程技术网

git相似性指数75%是否意味着git认为我已经重命名了一个文件?

git相似性指数75%是否意味着git认为我已经重命名了一个文件?,git,git-diff,Git,Git Diff,我在Visual Studio中使用GitExtensions,在提交我的更改时,它说我添加了两个新文件,第三个文件是.resx文件,它似乎在与另一个.resx文件进行比较,它说它们的相似性指数为75% 这些文件并不相关,但文件的很大一部分是所有.resx文件中的标准模板,因此我可以理解它们被视为类似的文件 所以问题是——这个消息是否意味着git认为我已经重命名了旧文件,如果我继续按原样提交,它会不会搞砸 Git不会根据相似性指数计算差异。相反,它将存储文件的 TL;DR:您可以按原样提交,而不

我在Visual Studio中使用GitExtensions,在提交我的更改时,它说我添加了两个新文件,第三个文件是.resx文件,它似乎在与另一个.resx文件进行比较,它说它们的相似性指数为75%

这些文件并不相关,但文件的很大一部分是所有.resx文件中的标准模板,因此我可以理解它们被视为类似的文件

所以问题是——这个消息是否意味着git认为我已经重命名了旧文件,如果我继续按原样提交,它会不会搞砸

Git不会根据相似性指数计算差异。相反,它将存储文件的

TL;DR:您可以按原样提交,而不用担心git认为您只是重命名了文件

Git不会根据相似性指数计算差异。相反,它将存储文件的

TL;DR:您可以按原样提交,而不用担心git认为您只是重命名了文件

Git不存储差异。1相反,每次提交都会将提交时索引中列出的完整文件存储为一种独立实体。要检索以前的提交,git只需查找提交ID并提取相关文件。2

相似性索引和文件重命名或复制的任何表示都只是git猜测发生了什么,试图让人更清楚,或者提供从一个提交到另一个提交的最短路径。在这一点上,模板匹配误导了git是正确的,但这一点是向用户展示如何从点A到点B,而不是存储什么或将存储什么

git status命令可能是我从未使用过的visualstudio,它只是为您运行git status,使git生成一个新的比较,这次是最新/当前提交头与当前索引,即,如果您现在提交,将提交什么。事实上,您实际上得到了两个比较:HEAD和index,以及index和worktree。这可以让您了解git对所发生的事情的最佳猜测,包括计算相似性索引,以便猜测是否重命名了某些文件

请注意,一旦对git diff进行了任何两次给定的提交,就可以指定不同的复制和/或重命名阈值,以不同的方式向您显示所发生的事情。Git是按需完成这项工作的,它主要在内存中提取两个提交,比较它们,在那个时候再次计算每个相似性索引,并从中对副本或重命名进行最佳猜测

1这掩盖了git的包文件,它确实使用了。但是,包文件通常是在提交或一系列提交之后很久构建的。新提交总是生成新的、独立的对象文件,以后可能会以各种方式打包和重新打包这些文件

2为了加快操作,git将使用当前索引缓存信息找出一种快速方法,将当前签出的提交(如索引/缓存所示)更改为要签出的新提交(作为git签出的参数)。特别是,只要您没有修改工作树以使索引是最新的,这就允许git checkout在类似的分支或提交之间切换时避免接触甚至检查大多数文件

不过,你不必担心这两个脚注:它们都是在幕后自动处理的。脚注二可以在您开始使用-work tree=arguments时发挥作用,就像人们在服务器上带有裸存储库的奇特自动部署脚本中所做的那样。但是,即使在那里,它通常也会自动工作。

Git不存储差异。1相反,每次提交都会将提交时索引中列出的完整文件存储为一种独立实体。要检索以前的提交,git只需查找提交ID并提取相关文件。2

相似性索引和文件重命名或复制的任何表示都只是git猜测发生了什么,试图让人更清楚,或者提供从一个提交到另一个提交的最短路径。在这一点上,模板匹配误导了git是正确的,但这一点是向用户展示如何从点A到点B,而不是存储什么或将存储什么

git status命令可能是我从未使用过的visualstudio,它只是为您运行git status,使git生成一个新的比较,这次是最新/当前提交头与当前索引,即,如果您现在提交,将提交什么。事实上,您实际上得到了两个比较:HEAD和index,以及index和worktree。这可以让您了解git对所发生的事情的最佳猜测,包括计算相似性索引,以便猜测是否重命名了某些文件

请注意,一旦对git diff进行了任何两次给定的提交,就可以指定不同的副本 d/或重命名阈值,以不同方式向您显示发生的情况。Git是按需完成这项工作的,它主要在内存中提取两个提交,比较它们,在那个时候再次计算每个相似性索引,并从中对副本或重命名进行最佳猜测

1这掩盖了git的包文件,它确实使用了。但是,包文件通常是在提交或一系列提交之后很久构建的。新提交总是生成新的、独立的对象文件,以后可能会以各种方式打包和重新打包这些文件

2为了加快操作,git将使用当前索引缓存信息找出一种快速方法,将当前签出的提交(如索引/缓存所示)更改为要签出的新提交(作为git签出的参数)。特别是,只要您没有修改工作树以使索引是最新的,这就允许git checkout在类似的分支或提交之间切换时避免接触甚至检查大多数文件

不过,你不必担心这两个脚注:它们都是在幕后自动处理的。脚注二可以在您开始使用-work tree=arguments时发挥作用,就像人们在服务器上带有裸存储库的奇特自动部署脚本中所做的那样。然而,即使在那里,它通常也只是自动工作