.git文件夹_git 重命名或移动文件和文件夹
问题直接修改了文件名或文件夹名时,git 会判定为删除该文件或文件夹,然后添加 untracked 的文件或文件夹,如此导致对应的文件或文件夹的修改历史丢失。解决方案 ->git mvgit mv介绍移动或重命名文件,目录或符号链接。描述git mv [-v] [-f] [-n] [-k] <source> git mv [-v] [-f] [-n] [-k] &l...
·
问题
直接修改了文件名或文件夹名时,git 会判定为删除该文件或文件夹,然后添加 untracked 的文件或文件夹,如此导致对应的文件或文件夹的修改历史丢失。
解决方案 -> git mv
git mv
介绍
移动或重命名文件,目录或符号链接。
描述
git mv [-v] [-f] [-n] [-k] <source>
git mv [-v] [-f] [-n] [-k] <source> ...
在第一种形式中,它将 重命名为
,它必须存在,并且可以是文件,符号链接或目录。
在第二种形式中,最后一个参数必须是现有目录; 给定的源都将被移动到目标目录中。
PS: 成功完成后更新索引,但仍必须提交更改。
选项
-f
--force
即使目标存在,也要强制重命名或移动文件
-k
跳过移动或重命名会导致错误情况的操作。当源既不存在也不受 Git 控制时,或者除非-f给出,否则会覆盖现有文件时发生错误。
-n
--dry-run
没做什么; 只显示会发生什么
-v
--verbose
报告移动文件的名称。
例子
重命名文件
git mv -f 桌面端-面试题.md desktop_interview.md
更新追踪历史(无该步骤将导致历史丢失)
git add -u desktop_interview.md
提交修改
git commit -m "rename file test"
Tips
git mv -f oldfolder newfolder
# (-u选项会更新已经追踪的文件和文件夹)
git add -u newfolder
git commit -m "changed the foldername whaddup"
# (在大小写不敏感的系统中,如windows,重命名文件的大小写,使用临时文件名)
git mv foldername tempname && git mv tempname folderName
# (显示重命名会发生的改变,不进行重命名操作)
git mv -n foldername folderName
长按扫描阅读原文
欢迎志同道合的朋友
能够关注或者加入我们实验室
让我们一起快乐的搞科研和开发
知行合一,困知勉行
欢迎关注零星实验室
感谢关注零星实验室
更多推荐
已为社区贡献1条内容
所有评论(0)