如何在 Git 中重新命名檔案?


可以透過以下兩種方式重新命名檔案:

  • 使用 **mv** Linux 命令

  • 使用 git **mv** 命令

場景 1 - 使用 Linux mv 命令

以下示例假設儲存庫中存在一個名為“file1.txt”的檔案。使用 Linux **mv** 命令的語法為:

$ mv <old_filename> <new_filename>

使用 Linux 命令 **mv** 將檔案重新命名為“file1.java”。

$ mv file1.txt file1.java

執行 **git status** 命令以驗證檔案在 Git 中的狀態。

$ git status

螢幕截圖中的輸出表明檔案已分兩步重新命名:

  • “file1.txt”已從工作區刪除

  • 添加了一個新檔案“file1.java”。請注意,“file1.java”的狀態為“未跟蹤”,這意味著更改僅在工作區中進行,尚未暫存。

On branch master
Changes not staged for commit:
(use “git add/rm <file>...” to update what will bw committed)
(use “git restore <file>...” to discard changes in working directory)
   Deleted: file1.txt
Untracked files:
(use “git add <file>...” to include what will be committed)
   file1.java
no changes added to commit (use “git add” and/or “git commit -a”)

Git不會自動跟蹤專案中的這些更改。這意味著應該暫存重新命名操作。執行以下步驟以將重新命名操作記錄到暫存區。

  • 暫存已刪除的檔案 - “file1.txt” 和

  • 暫存未跟蹤的檔案 - “file1.java”

使用 **git add** 命令實現此目的。

$ git add file1.txt
$ git add file1.java

使用 **git status** 命令驗證狀態。

$ git status

命令的輸出表明已記錄重新命名操作。

On branch master
Changes to be committed:
(use “git restore −−staged <file>...” to unstage)
   Renamed: file1.txt −>file1.java

場景 2 - 使用 *git mv* 命令

Git 提供了 **git mv** 命令,可用於重新命名檔案。與 Linux mv 命令不同,此命令透過一次性更改工作區和記錄暫存區的更改來簡化此過程。這意味著如果使用此命令重新命名檔案,則無需手動將重新命名操作記錄到暫存區。

使用 **git mv** 命令的語法為:

$ git mv <old_filename> <new_filename>

以下示例將檔案“file1.txt”重新命名為“file1.python”。此示例假設“file1.txt”已存在。

$ git mv file1.txt file1.python

驗證操作狀態:

$ git status

從輸出中可以清楚地看出,重新命名操作已暫存。

On branch master
Changes to be committed:
(use “git restore −−staged <file>...” to unstage)
   Renamed: file1.java −>file1.python

最後,讓我們提交更改以使其永久生效。

$ git commit −m ‘rename file java to python’

命令的輸出表明更改了 1 個檔案,並且有 0 個插入和 0 個刪除。這只是一個重新命名操作。

[master d8f9920] rename file java to python
1 file changed , 0 insertions(+), 0 deletions(-)
rename file1.java=>file1.python (100%)

更新於:2021年2月20日

3K+ 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始
廣告