我认为应该将要重命名的目录复制到具有所需名称的新目录,然后删除旧目录,和git add
, git commit
以及push
所有内容。但这是最好的方法吗?
我认为应该将要重命名的目录复制到具有所需名称的新目录,然后删除旧目录,和git add
, git commit
以及push
所有内容。但这是最好的方法吗?
Answers:
基本重命名(或移动):
git mv <old name> <new name>
区分大小写的重命名-例如 从casesensitive
到CaseSensitive
—您必须使用两个步骤:
git mv casesensitive tmp
git mv tmp CaseSensitive
…接着是commit和push将是在git repo中重命名目录的最简单方法。
casesensitive
为CaseSensitive
,则可以这样操作: git mv casesensitive Temp
然后 git mv Temp CaseSensitive
git rm -rf --cached path/to/your/directories
重新添加和提交
git config core.ignorecase false
然后连续运行命令,否则,第二部分我会得到一个source is empty
错误。
如果收到此错误:致命:重命名“文件夹名”失败:参数无效
尝试这个:
git mv foldername tempname && git mv tempname folderName
git mv foldername tempname
和运行git mv tempname folderName
,它们应在Windows上运行。
1.将文件夹的名称从旧文件夹更改为新文件夹
git mv oldfolder newfolder
2.如果您的存储库中已经有newfolder,并且您想覆盖它并使用: -force
git mv -f oldfolder newfolder
不要忘记将更改添加到索引并在使用git mv重命名后提交更改。
3.在不区分大小写的文件系统上将foldername重命名为folderName
使用普通的mv命令(而不是git mv)进行简单的重命名不会被识别为来自git的文件更改。如果您使用'git mv'命令尝试,如以下行所示
git mv foldername folderName
如果您使用的是不区分大小写的文件系统(例如,在Mac上,并且未将其配置为区分大小写),则会遇到如下错误消息:
致命:重命名“文件夹名”失败:参数无效
为了使它正常工作,您可以执行以下操作:-
git mv foldername tempname && git mv tempname folderName
通过首先将文件夹重命名为一个完全不同的文件夹名称,这可以将重命名过程分开。将其重命名为不同的foldername之后,该文件夹最终可以重命名为新的folderName。在那些“ git mv”之后,请不要忘记添加并提交更改。尽管这可能不是一种漂亮的技术,但它可以很好地工作。该文件系统仍然无法识别字母大小写的变化,但是git可以将其重命名为新的文件夹名,这就是我们想要的:)
您可以使用文件系统重命名目录。然后,您可以执行git rm <old directory>
和git add <new directory>
(帮助页面)。然后,您可以提交并推送。
Git会检测到内容相同并且只是一个重命名操作,它将在历史记录中显示为重命名条目。您可以在使用之前检查是否是这种情况git status
对于区分大小写的重命名,git mv somefolder someFolder
以前曾为我工作过,但今天由于某种原因没有。因此,作为一种解决方法,我创建了一个新文件夹temp
,将中的所有内容somefolder
移入temp
,删除somefolder
,提交temp
,然后创建someFolder
,将中的所有内容temp
移入someFolder
,删除temp
,提交和推入someFolder
并成功了!显示为someFolder
git。