我认为它应该工作,复制目录要重命名到一个新的目录与所需的名称,并删除旧目录,git添加,git提交和推一切。但这是最好的方法吗?
可以使用文件系统重命名目录。然后你可以做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是一个“内容跟踪器”,所以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寺庙
1. 将一个文件夹的名称从oldfolder改为newfolder
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上,你没有配置它是区分大小写的,你会遇到这样一个错误消息:
fatal:重命名' foldername '失败:无效参数
以下是你可以做的事情,以使它工作:-
git mv foldername tempname && git mv tempname folderName
This splits up the renaming process by renaming the folder at first to a completely different foldername. After renaming it to the different foldername the folder can finally be renamed to the new folderName. After those ‘git mv’s, again, do not forget to add and commit the changes. Though this is probably not a beautiful technique, it works perfectly fine. The filesystem will still not recognize a change of the letter cases, but git does due to renaming it to a new foldername, and that’s all we wanted :)
从Web应用程序我认为你不能,但是你可以重命名Git客户端的所有文件夹,它会把你的文件移动到新重命名的文件夹中,然后提交和推送到远程存储库。
我也遇到过类似的问题: 我不得不重命名不同的文件夹从大写到小写(像Abc -> Abc),我已经重命名了所有的文件夹与一个假的名字(像'abc___'),然后提交到远程存储库,之后我重命名所有的文件夹与小写的原始名称(像Abc),它采取了他们!
对于区分大小写的重命名,git mv somefolder somefolder以前为我工作过,但今天由于某种原因没有。所以作为一个解决方案,我创建了一个新文件夹temp,将somefolder的所有内容移动到temp,删除somefolder,提交temp,然后创建somefolder,将temp的所有内容移动到somefolder,删除temp,提交并推送somefolder,它工作了!在git中显示为someFolder。
很多正确答案,但当我登陆这里复制和粘贴一个文件夹重命名历史,我发现 这
git mv <old name> <new name>
是否将旧文件夹(本身)移动到新文件夹中
而
git mv <old name>/ <new name>
(注意'/') 将嵌套内容从旧文件夹移动到新文件夹
这两个命令都没有沿着嵌套文件的历史记录进行复制。我最终重新命名了每个嵌套的文件夹
git mv <old name>/<nest-folder> <new name>/<nest-folder>
我尝试了下面的命令,它没有工作。我收到了一个致命的消息:重命名……' failed:无效参数错误。
git mv oldName NewName
然后用以下方法求解:
首先,我复制了我想重命名的文件夹 然后我运行以下命令删除文件夹
git rm oldName -r
重命名复制文件夹为NewName
在git中重命名是困难的,因为索引必须改变,并且树对象将在提交后创建。 我有重命名模板为模板的问题… 我用……解决了这个问题
copying Templates to templates in bash [cp -r Templates templates ] (git mv Templates templates will not work) removing Templates in bash [rm -r Templates ](check that the copying was successful first) Removing the Templates file from the index[use "git ls-files -s" to see the index, "git rm " you can use wildcards such as git rm Templates/*, continue checking the index] Adding the renamed paths to the index ("git add -v ." and check the result with "git ls-files -s" Commit ["git commit -m "renaming ... " If you have remotes git push <to wherever origin,
下面是重命名目录的示例。
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
- 本地存储库中的文件与源文件之间的差异
- 将Git存储库内容移动到另一个存储库,保存历史记录