CB *_*ley 1025
基本重命名(或移动):
git mv <old name> <new name>
Run Code Online (Sandbox Code Playgroud)
区分大小写的重命名 - 例如.从 - casesensitive到CaseSensitive- 你必须使用两步:
git mv casesensitive tmp
git mv tmp CaseSensitive
Run Code Online (Sandbox Code Playgroud)
...然后提交和推送将是重命名git仓库中目录的最简单方法.
Jac*_*urt 93
如果收到此错误:致命:重命名'foldername'失败:参数无效
试试这个:
git mv foldername tempname && git mv tempname folderName
aks*_*har 51
1.将文件夹的名称从oldfolder更改为newfolder
git mv oldfolder newfolder
Run Code Online (Sandbox Code Playgroud)
2.如果newfolder已经在您的存储库中并且您想要覆盖它并使用: - force
git mv -f oldfolder newfolder
Run Code Online (Sandbox Code Playgroud)
在使用git mv重命名后,不要忘记将更改添加到索引并提交它们.
3.在不区分大小写的文件系统上将foldername重命名为folderName
使用普通mv命令(而不是git mv)进行简单重命名不会被git识别为文件更改.如果您使用'git mv'命令尝试它,如下一行所示
git mv foldername folderName
Run Code Online (Sandbox Code Playgroud)
如果您使用的是不区分大小写的文件系统,例如,您使用的是Mac并且未将其配置为区分大小写,则会遇到如下错误消息:
致命:重命名'foldername'失败:参数无效
以下是您可以做的工作: -
git mv foldername tempname && git mv tempname folderName
Run Code Online (Sandbox Code Playgroud)
这通过首先将文件夹重命名为完全不同的foldername来拆分重命名过程.将其重命名为不同的foldername后,该文件夹最终可以重命名为新的folderName.在那些'git mv'之后,再次,不要忘记添加和提交更改.虽然这可能不是一种漂亮的技术,但它的工作原理非常好.文件系统仍然无法识别字母大小写的变化,但git会将其重命名为新的foldername,这就是我们想要的全部:)
Ole*_*ksi 10
您可以使用文件系统重命名目录.然后你可以做(git rm <old directory>和帮助页面).然后你可以提交并推送.git add <new directory>
Git将检测到内容是相同的,并且它只是一个重命名操作,它将在历史记录中显示为重命名条目.您可以在使用提交之前检查是否属于这种情况git status
这是重命名目录的示例。
git mv src/dir1/ src/dir2/
Run Code Online (Sandbox Code Playgroud)
如果您收到错误提示Permission Denied,您可以尝试
git mv src/dir1 src/temp/
git mv src/temp src/dir2
Run Code Online (Sandbox Code Playgroud)
很多正确的答案,但是当我来到这里复制并粘贴一个带有历史重命名的文件夹时,我发现这个
git mv <old name> <new name>
Run Code Online (Sandbox Code Playgroud)
将旧文件夹(本身)移动到新文件夹中
尽管
git mv <old name>/ <new name>
Run Code Online (Sandbox Code Playgroud)
(注意“/”)将嵌套内容从旧文件夹移动到新文件夹
这两个命令都没有复制嵌套文件的历史记录。我最终分别重命名了每个嵌套文件夹?
git mv <old name>/<nest-folder> <new name>/<nest-folder>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
289498 次 |
| 最近记录: |