在一个Git仓库中,如何正确地重命名一个目录?
在一个Git仓库中,如何正确地重命名一个目录? 我认为它应该工作将目录重新命名为一个新的目录与所需的名称,并删除旧的目录 ,并git add
, git commit
并push
一切。 但这是最好的方法吗?
基本重命名(或移动):
git mv <old name> <new name>
区分大小写重命名 – 例如。 从casesensitive
到CaseSensitive
– 你必须使用两步:
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