在一个Git仓库中,如何正确地重命名一个目录?

在一个Git仓库中,如何正确地重命名一个目录? 我认为它应该工作将目录重新命名为一个新的目录与所需的名称,并删除旧的目录 ,并git addgit commitpush一切。 但这是最好的方法吗?

基本重命名(或移动):

 git mv <old name> <new name> 

区分大小写重命名 – 例如。 从casesensitiveCaseSensitive – 你必须使用两步:

 git mv casesensitive tmp git mv tmp CaseSensitive 

( 更多关于Git的区分大小写… )

…后面的提交和推动将是最简单的方法来重命名git仓库中的目录。

如果您收到此错误:致命:重命名“文件夹名称”失败:无效的参数

尝试这个:

git mv foldername tempname && git mv tempname folderName

1.将文件夹的名称从旧文件夹更改为新文件夹

 git mv oldfolder newfolder 

2.如果新文件夹已经存在于您的存储库中,并且您想覆盖它并使用: – force

 git mv -f oldfolder newfolder 

不要忘了在使用git mv进行重命名之后,将更改添加到索引并提交它们。

3.在不区分大小写的文件系统上将文件夹名重命名为folderName

使用普通的mv命令(而不是git mv)进行简单的重命名不会被git识别为filechange。 如果你用下面一行中的'git mv'命令来尝试它

 git mv foldername folderName 

如果您使用的是不区分大小写的文件系统,例如,您使用的是Mac,而您没有将其configuration为区分大小写,则会遇到如下错误消息:

致命的:重命名“文件夹名称”失败:无效的参数

以下是你可以做的,以使其工作: –

 git mv foldername tempname && git mv tempname folderName 

这通过将文件夹重命名为完全不同的文件夹名称来分割重命名过程。 将其重命名为不同的文件夹名称后,该文件夹最终可以重命名为新的文件夹名称。 在那些'git mv's之后,不要忘记添加和提交更改。 虽然这可能不是一个美丽的技术,但它工作得很好。 文件系统仍然不能识别字母大小写的变化,但git的确将其重命名为新的文件夹名称,这就是我们想要的:)

您可以使用文件系统重命名该目录。 然后你可以做git rm <old directory>git add <new directory> ( 帮助页面 )。 然后你可以提交并推送。

Git会检测到内容是相同的,只是一个重命名操作,它会在历史logging中显示为重命名条目。 在使用git status提交之前,你可以检查这种情况

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

我有一个非常类似的问题:我不得不重命名不同的文件夹从大写字母到小写字母(比如Abc – > abc),我用一个虚拟名字(比如'abc___')重命名了所有的文件夹,我把所有的文件夹重命名为小写字母(如abc),并把它们!

仅供参考使用乌龟或命令行选项进行重命名时,我不断遇到“FAILED \ Access denied”。 它只能在closures浏览器窗口后从命令行选项中起作用。

 git rm -rf --cached path/to/your/directories 

然后重新添加并提交。

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

 rm <directory> git add . git commit