为什么Tortoise GIT在提交过程中,会显示版本文件的重命名状态?

问题描述 投票:0回答:1

我在Windows 10上的一个父文件夹X下有两个文件夹A和B。版本是

  • Tortoise版本#2.9.0.0

  • Git版本:2.22.0.windows.1。

在使用Tortoise GIT提交文件时,我发现版本文件的状态是 "重命名"。我可能把X文件夹中的文件(使用Control-C和Control-V)复制到了B文件夹中,但我在复制后也修改了文件,GIT显示为 "重命名"。GIT显示它们为 "重命名"。我对文件内容的修改会在提交后被推送吗?我想,我可以试一试。我想在根据猜测进行修改之前,先问问专家。

另外,在提交页面中,X文件夹中的一些文件被列在未版本的类别下。我不明白为什么会这样。如果我取消勾选它们,会不会是一个干净的提交,而不需要进一步的重新设计?

谅谅

git tortoisegit
1个回答
1
投票

在Tortoise Git中只要双击显示可疑重命名的文件,在弹出的视图中检查差异。

由于你把文件从一个文件夹移到了另一个文件夹,现在旧的文件指针已经过期了,所以一定要在 add . 并跟踪这些变化,这可能已经解决了重命名视图的问题。但我想说的是,只要检查一下差异,如果它们是好的,那么你也是:)


1
投票

Git 对文件夹一无所知。它只处理文件,由文件名指定,其中包括它们的路径。因此,简单地把一个文件从一个文件夹移到另一个文件夹,就像把文件留在原地,然后改名一样。

而对于git来说,这又是什么呢?它们是 两个不同的文件。 git看到的,本质上是删除一个文件,创建另一个文件。

但同时,当git看到一个删除和创建的文件时,它会 尝试 将新文件与旧文件关联起来,如果可以的话,就称之为重命名。原因是这样可以使日志更好读。如果这是一个 "相同 "的文件,你希望历史记录在重命名过程中继续,而不是在删除时停止,在创建时作为一个不同的文件开始。

现在,当你重命名 修改,你会让git更难将其视为重命名。这不是个好主意。但听起来 git 还是把这看作是重命名,这很好。在更糟糕的情况下,重命名和修改会导致git失去连接新文件和旧文件的能力,你会看到一个删除和一个创建,分别。

所以,综上所述,要庆幸这被看作是重命名! 你是幸运的。

© www.soinside.com 2019 - 2024. All rights reserved.