我认为它应该工作,复制目录要重命名到一个新的目录与所需的名称,并删除旧目录,git添加,git提交和推一切。但这是最好的方法吗?
当前回答
对于区分大小写的重命名,git mv somefolder somefolder以前为我工作过,但今天由于某种原因没有。所以作为一个解决方案,我创建了一个新文件夹temp,将somefolder的所有内容移动到temp,删除somefolder,提交temp,然后创建somefolder,将temp的所有内容移动到somefolder,删除temp,提交并推送somefolder,它工作了!在git中显示为someFolder。
其他回答
从Web应用程序我认为你不能,但是你可以重命名Git客户端的所有文件夹,它会把你的文件移动到新重命名的文件夹中,然后提交和推送到远程存储库。
我也遇到过类似的问题: 我不得不重命名不同的文件夹从大写到小写(像Abc -> Abc),我已经重命名了所有的文件夹与一个假的名字(像'abc___'),然后提交到远程存储库,之后我重命名所有的文件夹与小写的原始名称(像Abc),它采取了他们!
可以使用文件系统重命名目录。然后你可以做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中重命名目录的最简单方法。
下面是重命名目录的示例。
git mv src/dir1/ src/dir2/
如果您得到一个声明权限被拒绝的错误,您可以尝试
git mv src/dir1 src/temp/
git mv src/temp src/dir2
只需重命名文件夹。git是一个“内容跟踪器”,所以SHA1哈希值是相同的,git知道,你重命名它。唯一改变的是树对象。
$ rm <directory> // remove the directory
$ git add . // add changes to the git
$ git commit // commit removed directory
推荐文章
- 撤消git平分错误
- 使用.gitconfig配置diff工具
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖