我认为它应该工作,复制目录要重命名到一个新的目录与所需的名称,并删除旧目录,git添加,git提交和推一切。但这是最好的方法吗?
当前回答
只需重命名文件夹。git是一个“内容跟踪器”,所以SHA1哈希值是相同的,git知道,你重命名它。唯一改变的是树对象。
$ rm <directory> // remove the directory
$ git add . // add changes to the git
$ git commit // commit removed directory
其他回答
如果你收到这个错误:fatal:重命名' foldername ' failed:无效参数
试试这个:
* nixOS
git mv文件夹
酒鬼
git config核心。ignorecase虚假;git mv文件夹;git mv寺庙
很多正确答案,但当我登陆这里复制和粘贴一个文件夹重命名历史,我发现 这
git mv <old name> <new name>
是否将旧文件夹(本身)移动到新文件夹中
而
git mv <old name>/ <new name>
(注意'/') 将嵌套内容从旧文件夹移动到新文件夹
这两个命令都没有沿着嵌套文件的历史记录进行复制。我最终重新命名了每个嵌套的文件夹
git mv <old name>/<nest-folder> <new name>/<nest-folder>
对于区分大小写的重命名,git mv somefolder somefolder以前为我工作过,但今天由于某种原因没有。所以作为一个解决方案,我创建了一个新文件夹temp,将somefolder的所有内容移动到temp,删除somefolder,提交temp,然后创建somefolder,将temp的所有内容移动到somefolder,删除temp,提交并推送somefolder,它工作了!在git中显示为someFolder。
只是提醒一下,除非您提供完整的文件夹路径,否则接受的答案将不起作用。否则,您将得到致命的:糟糕的源错误。
下面是重命名目录的示例。
git mv src/dir1/ src/dir2/
如果您得到一个声明权限被拒绝的错误,您可以尝试
git mv src/dir1 src/temp/
git mv src/temp src/dir2
推荐文章
- 在单个文件中重新启动/撤消冲突解决方案
- 如何从查找“类型d”中排除此/ current / dot文件夹
- Visual Studio代码如何解决合并冲突与git?
- 无法推送到远程分支,无法解析到分支
- Git:如何将数据库重置为特定的提交?
- 如何在合并期间使用Git和命令行保存本地文件或远程文件?
- 能够用一个命令推到所有git遥控器?
- 重新基于Git合并提交
- 忽略已经签入目录的内容?
- 如何从windows cmd保存git提交消息?
- (Mac) -bash: __git_ps1:命令未找到
- 如何删除多个已删除的文件在Git仓库
- 使用vimdiff查看所有' git diff '
- 如何拉特定的目录与git
- 本地存储库中的文件与源文件之间的差异