我认为它应该工作,复制目录要重命名到一个新的目录与所需的名称,并删除旧目录,git添加,git提交和推一切。但这是最好的方法吗?


当前回答

可以使用文件系统重命名目录。然后你可以做git rm <旧目录>和git add <新目录>(帮助页面)。然后你就可以承诺并推动。

Git会检测到内容是相同的,这只是一个重命名操作,它将作为重命名条目出现在历史记录中。您可以在提交之前使用git状态检查情况是否如此

其他回答

从Web应用程序我认为你不能,但是你可以重命名Git客户端的所有文件夹,它会把你的文件移动到新重命名的文件夹中,然后提交和推送到远程存储库。

我也遇到过类似的问题: 我不得不重命名不同的文件夹从大写到小写(像Abc -> Abc),我已经重命名了所有的文件夹与一个假的名字(像'abc___'),然后提交到远程存储库,之后我重命名所有的文件夹与小写的原始名称(像Abc),它采取了他们!

简单的技巧

您可以用任何临时名称重命名目录,然后再次重命名,这样就可以工作了

基本重命名(或移动):

git mv <old name> <new name>

区分大小写的重命名。从大小写敏感到大小写敏感-你必须使用两个步骤:

git mv casesensitive tmp
git mv tmp CaseSensitive

(更多关于Git中的大小写敏感性…)

…然后是commit和push,这是在git repo中重命名目录的最简单方法。

很多正确答案,但当我登陆这里复制和粘贴一个文件夹重命名历史,我发现 这

git mv <old name> <new name>

是否将旧文件夹(本身)移动到新文件夹中

git mv <old name>/ <new name>

(注意'/') 将嵌套内容从旧文件夹移动到新文件夹

这两个命令都没有沿着嵌套文件的历史记录进行复制。我最终重新命名了每个嵌套的文件夹

git mv <old name>/<nest-folder> <new name>/<nest-folder>

只是提醒一下,除非您提供完整的文件夹路径,否则接受的答案将不起作用。否则,您将得到致命的:糟糕的源错误。