延续上篇的说明,在 Git 的世界,任何动作对 Git 来说都可以视为一个「修改」的动作。因此这篇要介绍的 mv 指令概念都是相同的。
复习上篇的删除档案 git rm
:
删除一个档案 > git rm (暂时区) > git commit(储存区)
git rm - 告知 git ,我们要「删除」的档案有哪些
相同概念套用到更改档名 git mv
:
重新命名一个档案 > git mv [旧档名]+[新档名](暂时区) > git commit(储存区)
git mv - 告知 git ,我们要「重新命名」的档案有哪些
一样要注意一个观念,使用 git mv 指令时,档案需要是已经被追踪的档案状态,存在暂时区中。
git mv
mv 为 move 的意思
🛠 实际操作
直接更改档名 mv
先确认资料夹内有我们将要更改档名的档案,并且确定已放在暂存区
使用 mv
指令,并加上原本的档名及要更改的档名
$ mv before.html after.html # 把 before.html 变成 after.html
// mv + [旧档名] + [新档名]
先让我们查看目前档案状态 - git status
Changes not staged for commit (deleted)
Untracked files
从讯息回馈来看,可以看到单纯的变更档名对 Git 来说会是两个动作:删除 → 新增
状态为已更改,表示原本提交的 before.html 经删除动作後,被丢回工作目录(WD),随後又新增了一个名字为 after.html 的档案。此时的档案是 Untracked files 状态,并还没有被 Git 追踪,因此下一步我们要使用 git add
指令将档案丢至暂存区。
输入 git add 指令将上述异动存至暂存区
$ git add --all # 一次加入所有档案
-A 与 --all 相同
使用 git status
指令查看档案状态
此时的档案状态为:Changes to be committed(renamed)
在第三步骤我们看到的两种状态(Changes not staged for commit / Untracked files)都一口气变成 Changes to be committed 状态,且档案内容没有变动,因此 Git 可以推测出这一次的动作只是更改档名,所以状态为 renamed 。
最後输入 git commit -m
指令提交至储存库即可
回馈里除了基本的分支、效验码、纪录讯息,也可以看到我们这一次做了怎麽变动:rename before.html => after.html
请 Git 帮忙更改档名 git mv
我使用终端机在 git_practice 资料夹里新增一个 before.html 的档案,并且使用 git add 指令将它加入暂存区。
$ git touch before2.html # 新增一个 before2.html 的档案
$ git add . # 将 before2.html 加至暂存区
$ git status # 查看档案状态
此时档案状态为 Changes to be committed(new files) ,位於暂存区。
记得一个观念就是 git 要做修改的动作时,档案都是需要为被追踪的状态
使用 git commit
将档案提交至储存库,提供一次版本纪录。
$ git commit -m"讯息记录" # 将档案提交至储存库
接下来可以使用 git mv 指令将我们想要重新取名的档案改成新的名字
$ git mv before2.html after2.html # 把 before2.html 变成 after2.html
// git mv + [旧档名] + [新档名]
可以发现档名已经变动成 after2.html ,接下来使用 git status
查看状态
输入 git status
指令查看状态
这时状态为:Changes to be committed (renamed)
→ 重新命名
git commit
提交档案至储存库,整个流程即完成
⚠️ 在第二步骤如果没有先提交版本,直接更改档名的话,Git 会认为依然只是新增一个档案,没有变更动过。
以下范例还没 Commit 就直接更改档名,後用 git status 指令查看状态。
第一区块 - 新增一个 before.html 档案,git add
加至暂存区,使用 git status
查看状态。
→ 状态显示: Changes to be committed(new file)
第二区块 - 输入原本更改档名的指令 git mv before2.html after2.html
并查看状态
→ 状态显示: Changes to be committed(new file)
第三区块 - 将档案提交到储存库
→ 变更动作显示: **create** mode 100644 after2.html
因此我们可以看出,新建档案後如果没有先提交 commit 的版本,他的状态对 Git 来说都是一样的。「新增」一个档案。
陆剧线上看 Qa6drama在线免费网站观看海量高清最新电影电视剧,绝对让你体验到追剧零时差的体验。...
LINE Developers:https://developers.line.biz/zh-ha...
合菜玳瑁是有名的北方菜,刚好看到读书会书友外带了好吃的合菜戴帽,把合菜戴帽比喻成蛋皮界的星海罗盘让我...
不要什麽都说的艺术 想起之前一位在澳洲结交的台湾朋友 後来我们又在另一个国家重逢 我们有很多话可以...
在开始使用 Framework 之前,我们还是得先看看有没有办法利用纯手工的方式,先来解决一些基本...