我认为它应该工作,复制目录要重命名到一个新的目录与所需的名称,并删除旧目录,git添加,git提交和推一切。但这是最好的方法吗?
当前回答
很多正确答案,但当我登陆这里复制和粘贴一个文件夹重命名历史,我发现 这
git mv <old name> <new name>
是否将旧文件夹(本身)移动到新文件夹中
而
git mv <old name>/ <new name>
(注意'/') 将嵌套内容从旧文件夹移动到新文件夹
这两个命令都没有沿着嵌套文件的历史记录进行复制。我最终重新命名了每个嵌套的文件夹
git mv <old name>/<nest-folder> <new name>/<nest-folder>
其他回答
可以使用文件系统重命名目录。然后你可以做git rm <旧目录>和git add <新目录>(帮助页面)。然后你就可以承诺并推动。
Git会检测到内容是相同的,这只是一个重命名操作,它将作为重命名条目出现在历史记录中。您可以在提交之前使用git状态检查情况是否如此
基本重命名(或移动):
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添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 如何复制在bash所有目录和文件递归?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式