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


当前回答

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

其他回答

只需重命名文件夹。git是一个“内容跟踪器”,所以SHA1哈希值是相同的,git知道,你重命名它。唯一改变的是树对象。

$ rm <directory> // remove the directory
$ git add . // add changes to the git
$ git commit // commit removed directory

基本重命名(或移动):

git mv <old name> <new name>

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

git mv casesensitive tmp
git mv tmp CaseSensitive

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

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

我尝试了下面的命令,它没有工作。我收到了一个致命的消息:重命名……' failed:无效参数错误。

git mv oldName NewName

然后用以下方法求解:

首先,我复制了我想重命名的文件夹 然后我运行以下命令删除文件夹

git rm oldName -r

重命名复制文件夹为NewName

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

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

git mv <old name> <new name>

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

git mv <old name>/ <new name>

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

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

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