日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【原创】Git删除暂存区或版本库中的文件

發布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【原创】Git删除暂存区或版本库中的文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0 基礎

? ? 我們知道Git有三大區工作區、暫存區、版本庫)以及幾個狀態untracked、unstaged、uncommited),下面只是簡述下Git的大概工作流程,詳細的可以參見本博客的其他有關Git的文章【鏈接】?   (1)打開你的項目文件夾,除了隱藏的.git文件夾,其他項目文件位于的地方便是工作區,工作區的文件需要添加到Git的暫存區(git add),隨后再提交到Git的版本庫(git commit)。
  (2)首次新建的文件都是untracked狀態(未跟蹤),此時需要git add到暫存區,Git便會在暫存區中生成一個該文件的索引,文件此時處于uncommited狀態,需要git commit生成版本庫。添加到了版本庫之后,再對文件進行修改,那么文件的狀態會變為unstaged狀態。
? ? 簡單的認識了Git的工作流程,接下來便可以看看如何刪除錯誤添加到暫存區或版本庫里的文件了!

1 刪除錯誤添加到暫存區的文件

? ? 有時你在工作區新建了文件TestFile,并且已經將它添加到了暫存區,git會告知,現有有一個文件未提交到版本庫,如下圖: ?
?

?

1.1 僅僅刪除暫存區里的文件? ??

? ??此時你想撤銷錯誤添加到暫存區里的文件,可以輸入以下命令:
  • git rm --cache 文件名

    ?

  • ? ?? ? ??上面的命令僅僅刪除暫存區的文件而已,不會影響工作區的文件,如上圖,TestFile.txt仍然存在,此時輸入下面命令,git會告知有一個未跟蹤的文件TestFile.txt。
  • git status

    ?

  • ?

    1.2 刪除暫存區和工作區的文件

  • git rm -f 文件名

    ?

  • ? ? 工作區的文件也被刪除了。 ? ?? ?

    ?

    2 刪除錯誤提交的commit

    ? ? 有時,不僅添加到了暫存區,而且commit到了版本庫,這個時候就不能使用git rm了,需要使用git reset命令。 ? ? 錯誤提交到了版本庫,此時無論工作區、暫存區,還是版本庫,這三者的內容都是一樣的,所以在這種情況下,只是刪除了工作區和暫存區的文件,下一次用該版本庫回滾那個誤添加的文件還會重新生成。
    ? ? 這個時候,我們必須撤銷版本庫的修改才能解決問題!
    ? ? git reset有三個選項,--hard、--mixed、--soft。
    //僅僅只是撤銷已提交的版本庫,不會修改暫存區和工作區 git reset --soft 版本庫ID

    ?

    //僅僅只是撤銷已提交的版本庫和暫存區,不會修改工作區 git reset --mixed 版本庫ID

    ?

    //徹底將工作區、暫存區和版本庫記錄恢復到指定的版本庫 git reset --hard 版本庫ID ? ? 那我們到底應該用哪個選項好呢? ? ? (1)如果你是在提交了后,對工作區的代碼做了修改,并且想保留這些修改,那么可以使用git reset --mixed 版本庫ID,注意這個版本庫ID應該不是你剛剛提交的版本庫ID,而是剛剛提交版本庫的上一個版本庫。如下圖:
    ? ? (2)如果不想保留這些修改,可以直接使用徹底的恢復命令,git reset --hard 版本庫ID。
    ? ? (3)為什么不使用--soft呢,因為它只是恢復了版本庫,暫存區仍然存在你錯誤提交的文件索引,還需要進一步使用上一節的刪除錯誤添加到暫存區的文件,詳細見上文。

    轉載于:https://www.cnblogs.com/cposture/p/git.html

    總結

    以上是生活随笔為你收集整理的【原创】Git删除暂存区或版本库中的文件的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。