章節 20 移動檔案

學習目標

搬移 hello.rb 檔案到 lib 目錄。 01

現在我們接著來規劃一個目錄結構,通常我們常用函式庫會放在名為 lib 的子目錄底下。 所以讓我們來把程式移至 lib 目錄。

執行:

mkdir lib
git mv hello.rb lib
git status

輸出:

$ mkdir lib
$ git mv hello.rb lib
$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	renamed:    hello.rb -> lib/hello.rb
#

在 git 中搬移檔案,實際上我們需要通知 git 做 2 件事情。

  1. 原來目錄裡的 hello.rb 已經被刪除了。
  2. 子目錄裡新建了 lib/hello.rb

透過 git mv 這兩件事情會立刻被 git 追蹤,然後加入暫存區等待您的送交。執行 git status 會回報檔案被移動了。

其他方式移動檔案 02

git 最棒的一個特色就是,直到您準備送交版本之前,您可以完全忘記有版本控制這件事。如果我們使用一般的指令取代 git mv 那會發生什麼事情呢?

下面的指令示範了我們上述想做的事情,要打的指令有點多,但結果會完全一樣。

示範流程:

mkdir lib
mv hello.rb lib
git add lib/hello.rb
git rm hello.rb

送交一個新建的目錄 03

讓我們送交這次的變更

執行:

git commit -m "Moved hello.rb to lib"

目錄