目录
在git上重命名文件真的很痛苦。Git不区分大小写,因此我们不能重命名文件并希望它们在远程存储库中更新。它还可能给您和您的团队带来各种问题。
今天,我将指出一个逐步的过程来解决这个特定的问题。
问题
让我们讨论当您尝试手动重命名Containers为container时会发生什么。另外,请密切关注侧边栏中的git lens变化。
我们尝试手动更改git无法检测到从uppercase到lowercase的文件名。看看我们的远程仓库在我们推送代码后是否也有同样的命名转换问题。
似乎git无法检测到区分大小写。
让我们看看如何解决问题并使git检测我们的文件更改。
解决方案
有多种方法可以解决区分大小写的问题,但我们将使用两种不同的方法来解决它。所以,让我们继续我们的第一个解决方案。
1. 使用git-mv命令
git mv <your_file_name><temporary_file_name>
git mv <temporary_file_name><new_file_name>
让我们对其余文件也使用相同的命令。
Logo.svg到logo.svg
App.js到app.js
重命名上述文件后,我们应该提交并将更改推送到远程存储库。
- 在使用上述命令之前,让我们确保我们已经导航到文件位置。
上述命令将删除文件或文件夹并添加一个具有相同内容的新文件或文件夹。您可以通过删除文件并添加具有相同内容的新文件来实现相同的功能。Git简化了该过程,因为您无需手动删除文件。
- 它适用于文件夹和文件的情况。
结果
我们最终也对远程存储库进行了更改。它奏效了!
2. 第二种方法
这种方法将与前一种方法略有不同。我们将手动更改名称,但我们必须为其添加额外的符号或字母。不用担心,我将对其进行更多解释,以便您了解它的工作原理。
让我们将这个过程分解为两个不同的步骤:
A。第一步,我们要将Containers重命名为containers-1。我已将其重命名为containers-1,以便在下一步中实现零混淆。尽管您可以随意重命名,但我建议使用更具可读性的名称。
正如我们在上面看到的,git将检测到自从给定文件夹Containers被删除并添加了另一个新文件夹containers-1以来的更改,但实际上我们只是更改了文件夹的名称。
让我们也将其他文件更改为App.js到app-1.js和Logo.svg到logo-1.svg。
在进行下一步之前,我们应该提交我们的更改,以便我们的更改保存在我们的本地设备上。
git add .
git commit -m "temporary name change"
B。在此步骤中,我们将遵循相同的过程,但这次我们将文件重命名为我们想要的确切名称。在我们的例子中,它将是containers-1到containers。让我们也对其他文件进行更改- app-1.js到app.js,logo-1.svg到logo.svg。
更改名称后,我们必须提交更改并将其推送到远程存储库。
git add .
git commit -m "Manually changing name"
git push origin master.
结果
我们成功地更改了本地系统和远程系统中的文件和文件夹名称。有效!
容器到容器
App.js到app.js
Logo.svg到logo.svg
总而言之,这两种方法都是有效的,并且适用于所有场景。
您可以使用任何您喜欢的方法。如果您有其他方法可以更轻松地解决此问题,请随时在下面的评论中分享。
https://www.codeproject.com/Tips/5328976/How-to-Rename-Files-so-that-Git-can-Detect-them