Day11|【Git】档案管理 - 重新命名档案 git mv

延续上篇的说明,在 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

  1. 先确认资料夹内有我们将要更改档名的档案,并且确定已放在暂存区

    https://ithelp.ithome.com.tw/upload/images/20210925/201410100tfbh4kWjO.png

  2. 使用 mv 指令,并加上原本的档名及要更改的档名

    $ mv before.html after.html # 把 before.html 变成 after.html
    // mv + [旧档名] + [新档名]
    

    https://ithelp.ithome.com.tw/upload/images/20210925/20141010kJxyogvJ93.png

  3. 先让我们查看目前档案状态 - git status

    https://ithelp.ithome.com.tw/upload/images/20210925/20141010XCKJNgjC5K.png

    • before.html - Changes not staged for commit (deleted)
    • after.html - Untracked files

    从讯息回馈来看,可以看到单纯的变更档名对 Git 来说会是两个动作:删除 → 新增

    状态为已更改,表示原本提交的 before.html 经删除动作後,被丢回工作目录(WD),随後又新增了一个名字为 after.html 的档案。此时的档案是 Untracked files 状态,并还没有被 Git 追踪,因此下一步我们要使用 git add 指令将档案丢至暂存区。

  4. 输入 git add 指令将上述异动存至暂存区

    $ git add --all # 一次加入所有档案
    -A 与 --all 相同
    
  5. 使用 git status 指令查看档案状态

    https://ithelp.ithome.com.tw/upload/images/20210925/20141010aMxg6pptxy.png

    此时的档案状态为:Changes to be committed(renamed)

    在第三步骤我们看到的两种状态(Changes not staged for commit / Untracked files)都一口气变成 Changes to be committed 状态,且档案内容没有变动,因此 Git 可以推测出这一次的动作只是更改档名,所以状态为 renamed

  6. 最後输入 git commit -m 指令提交至储存库即可

    https://ithelp.ithome.com.tw/upload/images/20210925/20141010T4EhPLHIvc.png

    回馈里除了基本的分支、效验码、纪录讯息,也可以看到我们这一次做了怎麽变动:rename before.html => after.html


请 Git 帮忙更改档名 git mv

  1. 我使用终端机在 git_practice 资料夹里新增一个 before.html 的档案,并且使用 git add 指令将它加入暂存区。

    $ git touch before2.html # 新增一个 before2.html 的档案
    $ git add . # 将 before2.html 加至暂存区
    $ git status # 查看档案状态
    

    https://ithelp.ithome.com.tw/upload/images/20210925/20141010AEwu9scY9z.png

    https://ithelp.ithome.com.tw/upload/images/20210925/20141010WoLKSoQgWt.png

    此时档案状态为 Changes to be committed(new files) ,位於暂存区。

    记得一个观念就是 git 要做修改的动作时,档案都是需要为被追踪的状态

  2. 使用 git commit 将档案提交至储存库,提供一次版本纪录。

    $ git commit -m"讯息记录" # 将档案提交至储存库
    
  3. 接下来可以使用 git mv 指令将我们想要重新取名的档案改成新的名字

    $ git mv before2.html after2.html # 把 before2.html 变成 after2.html
    // git mv + [旧档名] + [新档名]
    

    https://ithelp.ithome.com.tw/upload/images/20210925/20141010bwqNKrCi4J.png

    可以发现档名已经变动成 after2.html ,接下来使用 git status 查看状态

  4. 输入 git status 指令查看状态

    https://ithelp.ithome.com.tw/upload/images/20210925/20141010FLbN7KWmyu.png

    这时状态为:Changes to be committed (renamed)→ 重新命名

  5. git commit提交档案至储存库,整个流程即完成

    https://ithelp.ithome.com.tw/upload/images/20210925/20141010Iu53snGUu1.png

⚠️ 在第二步骤如果没有先提交版本,直接更改档名的话,Git 会认为依然只是新增一个档案,没有变更动过。


以下范例还没 Commit 就直接更改档名,後用 git status 指令查看状态。

https://ithelp.ithome.com.tw/upload/images/20210925/2014101049VRY7rsM4.png

第一区块 - 新增一个 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 来说都是一样的。「新增」一个档案。


<<:  Day 13 阿里云架设网站-弹性负载 & CDN

>>:  爬取多个页面

陆剧线上看

陆剧线上看 Qa6drama在线免费网站观看海量高清最新电影电视剧,绝对让你体验到追剧零时差的体验。...

Day25 - LIFF 使用入门

LINE Developers:https://developers.line.biz/zh-ha...

Day14 金银满堂-北方名菜合菜戴帽

合菜玳瑁是有名的北方菜,刚好看到读书会书友外带了好吃的合菜戴帽,把合菜戴帽比喻成蛋皮界的星海罗盘让我...

2.4.12 Design System - Lists

不要什麽都说的艺术 想起之前一位在澳洲结交的台湾朋友 後来我们又在另一个国家重逢 我们有很多话可以...

Day-04 Python 的 Gradient 计算

在开始使用 Framework 之前,我们还是得先看看有没有办法利用纯手工的方式,先来解决一些基本...