git rm 命令

Git 基本操作Git 基本操作

git rm 命令用于刪除文件。

 

1. git 本地?cái)?shù)據(jù)管理的分區(qū)

git 的本地?cái)?shù)據(jù)管理分為三個(gè)區(qū):

  • 工作區(qū)(Working Directory):是可以直接編輯的地方。
  • 暫存區(qū)(Stage/Index):數(shù)據(jù)暫時(shí)存放的區(qū)域。
  • 版本庫(kù)(commit History):存放已經(jīng)提交的數(shù)據(jù)。

工作區(qū)的文件 git add 后到暫存區(qū),暫存區(qū)的文件 git commit 后到版本庫(kù)。

 

2. shell rm 命令

用于刪除工作區(qū)的文件。

$ rm test.txt

使用 shell rm 命令刪除工作區(qū)文件,然后查看狀態(tài):

$ git status
On branch master
Changes not staged for commit:
  (use "git add/rm ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        deleted:    test.txt

no changes added to commit (use "git add" and/or "git commit -a")

shell rm 命令只是刪除了工作區(qū)的文件,并沒(méi)有刪除版本庫(kù)的文件。如果要?jiǎng)h除版本庫(kù)文件,還需要執(zhí)行下面的命令:

$ git add test.txt
$ git commit -m "delete test"

或者

$ git commit -a -m "delete test"

test.txt 文件從工作區(qū)和版本庫(kù)中全部刪除。

 

3. git rm 命令

刪除工作區(qū)文件,并且將這次刪除放入暫存區(qū)。

注意:要?jiǎng)h除的文件必須沒(méi)有經(jīng)過(guò)修改,也就是說(shuō)和當(dāng)前版本庫(kù)文件的內(nèi)容相同,否則將會(huì)失敗。

執(zhí)行刪除命令:

$ git rm test.txt
rm 'test.txt'

查看當(dāng)前狀態(tài)(成功刪除了工作區(qū)文件,并且將這次刪除放入暫存區(qū)。):

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

        deleted:    test.txt

然后提交到版本庫(kù):

$ git commit -m "delete test"
[master f05b05b] delete test
 1 file changed, 3 deletions(-)
 delete mode 100644 test.txt

成功刪除了版本庫(kù)中 test.txt 文件。


如果文件修改過(guò)內(nèi)容,執(zhí)行結(jié)果如下:

error: the following file has local modifications:
    test.txt
(use --cached to keep the file, or -f to force removal)

 

4. git rm -f 命令

強(qiáng)制刪除工作區(qū)和暫存區(qū)文件,并且將這次刪除放入暫存區(qū)。

注意:要?jiǎng)h除的文件無(wú)論修改過(guò)還是未修改過(guò),無(wú)論是在工作區(qū)還是暫存區(qū),都會(huì)被強(qiáng)制刪除。

$ git rm -f test.txt
rm 'test.txt'

查看狀態(tài)(成功刪除工作區(qū)和暫存區(qū)文件,并且將這次刪除放入暫存區(qū)):

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

        deleted:    test.txt

然后提交到版本庫(kù):

$ git commit -m "delete test"
[master 9d5d2d2] delete test
 1 file changed, 3 deletions(-)
 delete mode 100644 test.txt

成功刪除了工作區(qū)、暫存區(qū)和版本庫(kù)的文件。

 

5. git rm --cached 命令

刪除暫存區(qū)文件,但保留工作區(qū)的文件,并且將這次刪除放入暫存區(qū)。

執(zhí)行刪除命令:

$ git rm --cached test.txt
rm 'test.txt'

查看狀態(tài)(成功刪除暫存區(qū)文件,保留工作區(qū)文件,并且將這次刪除放入暫存區(qū),注意這里文件取消了跟蹤)。

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

        deleted:    test.txt

Untracked files:
  (use "git add ..." to include in what will be committed)

        test.txt

然后提交到版本庫(kù):

$ git commit -m "delete test"
[master 223d609] delete test
 1 file changed, 3 deletions(-)
 delete mode 100644 test.txt

刪除了暫存區(qū)和版本庫(kù)的文件,但保留了工作區(qū)的文件。

如果文件有修改并 git add 到暫存區(qū),再執(zhí)行 git rm --cached 和 git commit,那么保留的工作區(qū)文件是修改后的文件,同時(shí)暫存區(qū)的修改文件和版本庫(kù)的文件也被刪了。

 

Git 基本操作Git 基本操作

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清