[Git] git重命名文件和文件夹详解

【Git笔记】之Git重命名详解 Git是一个非常流行的版本控制工具,它可以帮助程序员更好地管理源代码。有时候,我们需要对某些文件、分支、作者等进行重命名。在这篇文章中,我们将会从多个方面对Git重命名做详细的阐述,并提供相应的代码示例。 阅读详情
AI摘要

本文详细解析了在Git版本控制系统中如何正确地重命名文件或文件夹,避免因直接修改文件名导致的追踪丢失问题。通过使用git mv命令,可以确保文件历史记录的连续性,同时介绍了命令的参数选项及其应用场景。

0. 前情提要

想修改一下我的某个文件/文件夹名字,发现一改,怎么这个文件绿色的 √ 就没了???改回来之后,√ 又回来了!!!特么的,咋回事呢?

别急, Git 追踪文件是根据文件名来的,把文件名改了,它就不知道那该死的文件去哪了,它就以为你删掉了!!!所以你在本地直接改名一个文件之后,git status 发现的就是 deleted 和 untracked。但这不是我的本意啊!!!

所以想要修改文件名,我们就需要用到 git mv 命令了。

1. git mv 详解重命名

重命名文件或文件夹可以使用 git mv 命令。参数详解:

-v:显示信息。

-f:强制重命名或移动,会覆盖目标文件。

-k:跳过对重命名或移动出错的文件。出错的时候发生在源文件不存在,或者没有追踪的源文件,或者目标文件已经存在,但没有加-f进行覆盖。

-n:只显示信息,但不会进行实际重命名或移动操作。

注意文件状态:

  1. 只能修改已经追踪的文件和文件夹
  2. 修改之后,相当于执行了 add ,直接 commit 就可以提交。
1.1 重命名文件

-f 指强制重命名或移动,注意:若目标已经存在,则会覆盖目标文件。

$ git mv -v oldfile newfile
# $ git mv -f oldfile newfile

# 已经追踪,无需进行 add -u
$ git status
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        renamed:    oldfile -> newfile

# 重命名之后正常 commit push 就可以了
$ git commit -m "rename oldfile to newfile"
$ git push
1.2 重命名文件夹

/ 不会产生影响。若 newfolder 文件夹原本已经存在,则会将 oldfolder 移入 newfolder。

$ git mv -v oldfolder newfolder
# $ git mv -v oldfolder/ newfolder/

# 已经追踪,无需进行 add -u
$ git status
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        renamed:    oldfolder/... -> newfolder/...

# 重命名之后正常 commit push 就可以了
$ git commit -m "rename oldfolder to newfolder"
$ git push
git如何重命名分支(包括本地和远程分支) Git 服务器可能会允许你使用 Web 界面或外部程序(如 Sourcetree 等)重命名 Git 分支,但请记住,在 Git 中所有的工作都是本地完成的,因此建议使用上述命令进行工作。试图更新你的配置文件中的远程部分。它会将给定名称的远程重命名为新名称,但在你的情况下,它没有找到任何内容,因此重命名失败。但它不会按你想的那样做;它会重命名你的本地配置远程名称,而不是远程分支。(移动)时,Git 也会更新你的跟踪分支的新名称。 阅读详情

相关推荐

Git重命名完全指南:文件、目录、分支与远程仓库的实践

版本控制是现代软件开发的基石,而Git作为最流行的分布式版本控制系统,其重命名机制常让开发者困惑。与普通文件操作不同,Git底层并没有原生的“重命名”指令,而是通过内容相似度算法(如默认50%阈值)在提交历史中推断改名关系。理解这一原理,有助于正确处理文件、目录乃至分支的重命名,避免产生“删除+新增”的历史噪音。在工程实践中,掌握git mv命令、大小写不敏感文件系统的特殊处理、以及远程分支同步与仓库URL切换,能显著提升团队协作效率。无论是本地整理还是远程协作,合理的重命名策略都能让版本历史更清晰,代码库

weixin_28839601的博客 210

如何重命名文件以便Git可以检测到它们?

在git上重命名文件真的很痛苦。Git不区分大小写,因此我们不能重命名文件并希望它们在远程存储库中更新。它还可能给您和您的团队带来各种问题。 今天,我将指出一个逐步的过程来解决这个特定的问题。...

寒冰屋的专栏 1615

IDEA多模块项目重命名全攻略:同步修改pom.xml和磁盘目录的保姆级教程

本文提供了IDEA多模块项目重命名的一站式解决方案。详细讲解了如何同步修改pom.xml中的artifactId、更新父模块依赖以及重命名磁盘目录,并分享了处理模块变普通文件夹、Maven依赖失效等常见问题的实战技巧,确保重构过程安全可控。

f0g1h2的博客 502

Git常用命令大全

总结:Git命令不仅仅是以上这些,要深究的话还有很多很多,并且每一条命令还有多种搭配使用的选项,每种选项搭配都代表着不同的作用,需要用到的时候可以再研究学习,以上命令参考自https://git-scm.com/book/zh/v2/ 前三章。// 查看xxx在xxxx年xx月期间, 除了合并提交之外的哪一个提交修改了files文件。// 查看近n次提交,并显示显示每次提交所引入的差异。// 启动编辑器,可以修改之前的提交信息。// 跳过git add步骤,直接提交。............

HYEHYEHYE的博客 1572

【毕设】基于LoRa的物联网控制器:从原理图到PCB的完整硬件设计指南

本文提供了一份完整的基于LoRa的物联网控制器硬件设计指南,涵盖从系统框图、原理图设计到PCB布局布线的全流程。详细讲解了电源电路、单片机最小系统、信号接口以及LoRa无线模块等核心模块的设计要点与抗干扰技巧,并分享了实用的调试心得,旨在帮助电子、物联网专业学生顺利完成毕业设计,掌握低功耗远距离物联网节点的硬件开发实践。

weixin_42126677的博客 306

从零开始:使用VMOS Pro和Xposed绕过APP环境检测的完整指南

本文详细解析了使用VMOS Pro和Xposed框架绕过APP环境检测的完整技术方案,包括模拟器检测、Root环境检测和Hook框架检测的对抗方法。通过实战案例和代码示例,展示了如何利用Xposed Hook技术拦截检测逻辑,特别针对360加固等保护技术提供了解决方案。

ee345的博客 733

vscode文件备注插件怎么选?给文件及文件夹设置备注的插件实测与配置

实测VS Code文件备注插件选型与配置,给出可复制的settings.json,支持文件与文件夹备注、重命名移动同步,并说明如何用TaoToken批量生成备注草稿。配置与排错一步到位,详见官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 。

weixin_42601608的博客 10

MRST开源油藏模拟:从入门到精通的全流程指南

本文全面介绍了MRST开源油藏模拟工具的使用方法,从环境搭建到核心功能实战,再到性能优化和工业级应用。MRST作为一款基于MATLAB的开源工具,为油藏工程师提供了强大的数值模拟能力,特别适合教学和科研场景。文章还分享了二次开发技巧和常见问题解决方案,帮助读者快速掌握油藏模拟技术。

beer8的博客 326

解决IDEA模块名与文件夹名不一致问题

在Java开发中,模块化是项目管理的基础概念,通过将代码划分为独立单元提高可维护性。IntelliJ IDEA作为主流IDE,其模块系统与物理存储路径的映射机制直接影响开发效率。当模块显示名称与磁盘文件夹名不一致时,会导致构建工具报错、版本控制冲突等问题。本文以Spring Cloud项目为例,解析模块配置原理,提供重命名模块、修改配置文件和重建模块三种解决方案,特别针对Maven/Gradle项目给出路径同步的最佳实践。通过规范团队协作流程和优化IDE设置,可有效预防此类问题,提升开发体验。

weixin_28831461的博客 296

第29章:PCL PrincipalCurvatures 曲率估计

PrincipalCurvatures(主曲率估计)是一种用于计算点云表面曲率的算法。曲率描述了曲面局部的弯曲程度,是表面几何特征的重要指标。在点云处理中,估计表面的曲率对于形状分析、物体识别、表面重建等任务非常重要。主曲率是曲面上某一点的最大和最小曲率方向。通过计算点云的主曲率,我们可以获得点云中每个点的局部形状特征。通常情况下,主曲率包括两个主要参数:最大主曲率(最大曲率方向上的曲率)和最小主曲率(最小曲率方向上的曲率)。优点缺点提供了对点云表面局部形状的深入分析。

yumeiguo的博客 211

国科大学习资料--人工智能原理与算法-第六次作业解析(学长整理)

国科大学习资料–人工智能原理与算法-第六次作业解析(张文生老师主讲)(6.6、6.7、6.11) 6.6 说明如何通过使用辅助变量把诸如A+B=C这样的三元约束转变成三个二元约束。假设值域是有限的。(提示:考虑引进新变量表示变量对的值,引进约束如“X是Y变量对中的第一个元素”。)然后说明如何把多于三个变量的约束类似地转换为二元约束。说明如何通过改变变量的值域来消除一元约束。这就完整演示了任何CSP都可以转变为只含二元约束的CSP。 答:首先,我们引入一个新变量AB,假设A和B的范围均为N,AB的范围为N×N

无名何许人的博客 2868

IntelliJ IDEA多模块项目重命名完整指南:从物理文件到依赖配置

在Java企业级开发中,多模块项目是管理复杂代码结构的常见模式,它通过将系统拆分为独立的模块来提升代码复用性和构建效率。其核心原理在于构建工具(如Maven、Gradle)通过配置文件(pom.xml、build.gradle)定义模块坐标与依赖关系,形成一张清晰的依赖网络。这种架构的技术价值在于实现了关注点分离与并行开发,但同时也带来了配置管理的复杂性,尤其是在进行模块重构时。一个典型的应用场景就是模块重命名,这并非简单的IDE操作,而是一个涉及物理层、配置层、依赖层的系统性工程。本文聚焦于Intelli

weixin_28828243的博客 362

大数据在电力行业的应用案例解析-【电力技术】(九)大数据在电力储能运维中的深度应用(含故障预测代码)

大数据技术为电力储能运维提供了“精准化、智能化、高效化”的解决方案,破解了传统运维的核心痛点,实现了储能系统从“被动抢修”到“主动运维”的转型,为新型电力系统建设提供了重要支撑。当前,随着储能产业的快速发展,大数据与储能运维的融合将更加深入,未来将结合人工智能、物联网、区块链等技术,实现储能运维的全流程智能化——从设备故障的提前预警,到寿命的精准预测,再到运维策略的自动优化、调度协同的实时响应,进一步提升储能系统的安全性、经济性与可靠性。

getusushu的博客 86

IDEA中Module工程重命名的正确姿势与避坑指南

本文详细介绍了在IntelliJ IDEA中正确重命名Module工程的步骤与避坑指南。从基础操作到常见问题解决方案,包括Module变成普通文件夹、Maven依赖失效等问题的处理方法,帮助开发者高效完成Module重命名,确保项目构建稳定运行。

weixin_42545503的博客 194

如何在Ubuntu 22.04系统上安装CUDA 12.9

本文提供Ubuntu22.04系统上安装CUDA12.9的简明指南:1)确认已安装适配575驱动;2)清理旧版本后安装必需依赖库;3)通过deb包方式添加英伟达源并安装CUDA12.9工具包;4)配置环境变量;5)通过nvcc-V和nvidia-smi命令验证安装。文中包含常见问题解决方法及多显卡使用说明,全程约需10分钟完成安装。

2501_93651177的博客 1479

【Unity的HDRP渲染管线下用Steam VR串流结合使用遇到的各种问题_SteamVR 插件和Pico串流助手】

当你启用"Mock Runtime"选项后,Unity将模拟一个虚拟的OpenXR运行时环境,并提供一些虚拟的设备和功能,让你能够进行开发和调试。在Unity中,SteamVR插件是一个由Valve提供的Unity插件,它允许开发者在Unity项目中集成SteamVR功能,以便支持SteamVR设备。OpenXR是一个跨平台的虚拟和增强现实(VR/AR)开发接口,它为开发者提供了一个统一的接口,用于访问不同VR/AR硬件设备和平台的功能。这个选项是用于模拟OpenXR运行时环境的功能。

暴走约伯的博客 2798

Git(三).git 文件夹详解

Git(三).git 文件夹详解

ACGkaka的博客 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

git mv : 重命名文件和文件夹,保留文件历史记录

命令 git mv <options>… <args>… 移动或重命名文件,目录或符号链接。 描述 git mv [-v] [-f] [-n] [-k] <source> <destination> 将 <source> 重命名为 <destination> ,它必须存在,并且可以是文件,符号链接或目录。 git mv [...

伏念先生的博客 8933

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

.git文件夹_git 重命名或移动文件和文件夹

问题直接修改了文件名或文件夹名时,git 会判定为删除该文件或文件夹,然后添加 untracked 的文件或文件夹,如此导致对应的文件或文件夹的修改历史丢失。解决方案 ->git mvgit mv介绍移动或重命名文件,目录或符号链接。描述git mv [-v] [-f] [-n] [-k] <source> git mv [-v] [-f] [-n] [-k] &l...

weixin_39840153的博客 2724

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

`git mv` 重命名 Git 仓库中的文件夹

本文介绍了使用git mv命令安全重命名Git仓库中文件夹的最佳实践。通过将test/重命名为muduo_test/的案例,详细说明了操作步骤:1)检查状态;2)执行git mv;3)验证变更;4)提交并推送。重点强调了git mv相比普通mv命令的三大优势:保留完整历史记录、避免diff冲突、确保原子性操作。文章还提供了清晰的提交信息编写建议和跨分支操作注意事项,帮助开发者规范地进行版本控制下的文件重构。

No Game No Life 1149

Git 重命名文件/文件夹的mv 方法

Git 重命名文件/文件夹的mv 方法问题复现查看git 帮助信息准备提交 问题复现 使用gitbash 输入以下指令: git mv docker Docker 然后出现了这种情况,这里的docker 是docker 文件夹。 查看git 帮助信息 使用git help 命令查看git 的命令相关信息,从终端给的反馈信息可知 mv 命令的有作用: 移动一个文件、文件目录、符号链接 重名一个文件、文件目录、符号链接 由此可知问题复现中没有逻辑错误。 通过翻阅官方文档、各种博客,从中得出蛛丝马迹,最

小白要成大神 2222

github重命名文件夹、文件名称

在使用GitHub管理项目过程中,往往需要重命名文件夹、文件名称,下面介绍利用git修改github项目文件夹、文件名称。 准备工作:将项目git clone到本地。 利用git mv -f oldname newname" 命令修改文件夹名字。 命令很简单,就不赘述,下面强调一个常见报错 常见问题: 利用git mv -f oldname newname命令修改文件夹名字时报错: Renam...

城序猿 8160

git-重命名文件和文件夹

git文件和文件夹重命名

shenwanjiang111的专栏 3万+

git怎么处理文件夹名称大小写重命名问题

提交上面的代码后,我们可以看到远程仓库出现了两个文件夹,一个首字母大写,一个首字母小写的。而我们本地却只有改完之后的一个小写文件夹,显然这不是我们想要的答案。这个时候,就出现了两个记录,我们先 add 这个下面这个更改的。我们就可以看到这里出现了未跟踪的文件,这个是新的。添加完之后,我们可以看到暂存的更改变成了已重命名。文件夹来讲解,这个是我重新提交的文件夹。进入到文件夹同级目录,右击鼠标,打开。文件夹的名称,这样提交是有问题的。,找到 config 修改里面的。文件夹的东西,并不是修改了。

学习前端这门手艺,栈底到栈顶依次是:浏览器架构、Web 网络、事件循环机制、JavaScript 核心、V8 的内存管理、浏览器的渲染流程、Web 安全、CSS、React、Vue、Node、构建工具链等 5265

git重命名文件和文件夹

git mv -f oldfolder newfolder git add -u newfolder (-u选项会更新已经追踪的文件和文件夹) git commit -m "changed the foldername whaddup" v -f oldfolder newfolder git add -u newfolder (-u选项会更新已经追踪的文件和文件夹) git commit ...

GoodIdea 2167

Git如何给文件进行重命名

Hey git学习篇(3) 这是学习Git的第三篇笔记,今天来讲讲Git如何给文件进行重命名。 在讲解之前,先说一说我平常是如何给一个函数名进行重命名的。 当我们进行代码优化的时候,可能会发现一些函数或者类的命名不太合理,不符合公司开发规范。 比如用拼音命名,或者取的太长,不够简洁,或者词不达意,命名不能体现出功能用处,这个时候,就有必要对这些函数名、类名进行重命名了。 一般,我会用编辑器自带...

LHS的专栏 732
上一篇: [Git] 还原某个特定的文件到之前的某个版本
下一篇: [Git] 提交某一个文件夹到一个仓内
Spade_
博客等级 码龄10年 918粉丝 123原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值