git丟棄本地修改的所有檔案 新增 刪除 修改

2022-09-20 23:54:13 字數 2180 閱讀 6232

一,未libbgkoik使用 git add 快取**時。

可以使用 git checkout -- filepathname (比如: git checkout -- readme.md  ,不要忘記中間的 「--」 ,不寫就成了檢出分支了!!)。放棄所有的檔案修改可以使用 git checkout .  命令。

此命令用來放棄掉所有還沒有加入到快取區(就是 git add 命令)的修改:內容修改與整個檔案刪除。但是此命令不會刪除掉剛新建的檔案。因為剛新建的檔案還沒已有加入到 git 的管理系統中。所以對於git是未知的。自己手動刪除就好了。 

二,已經使用了  git add 快取了**。

可以使用  git reset h程式設計客棧ead filepathname (比如: git reset head readme.md)來放棄指定檔案的快取,放棄所以的快取可以使用 git reset head . 命令。

此命令用來清除 git  對於檔案修改的快取。相當於撤銷 git add 命令所在的工作。在使用本命令後,本地的修改並不會消失,而是回到了如(一)所示的狀態。繼續用(一)中的操作,就可以放棄本地的修改。

三,已經用 git commit  提交了**。

可以使用 git reset --hard head^ 來回退到上一次commit的狀態。此命令可以用來回退到任意版本:git reset --hard  commitid

你可以使用 git log 命令來檢視git的提交歷史。git log 的輸出如下,之一這裡可以看到第一行就是 commitid:

commit cf0d692e982d8e372a07aaa6901c395eec73e356 (head -> master)

author: toyflivver <[email protected]>

date: thu sep 28 14:07:14 2017 +0800

多餘的空行

commit 14aa4d7ad4ac6fba59b4b8261d32e478e8cc99ff

author: toyflivver <[email protected]>

date: thu sep 28 14:06:44 2017 +0800

正常的**

commit da3a95c84b6a92934ee30b6728e258bcda75f276

author: toyflivver <[email protected]>

date: thu sep 28 13:58:12 2017 +0800

qbfcommit 267466352079296520320991a75321485224d6c6

author: toyflivver <[email protected]>

date: thu sep 28 13:40:09 2017 +0800

qbf可以看出現在的狀態在 commitid 為 cf0d692e982d8e372a07aaa6901c395eec73e356 的提交上(有 head -> master 標記)。

本地修改了許多檔案,其中有些是新增的,因為開發需要這些都不要了,想要丟棄掉,可以使用如下命令:

git checkout . #本地所有修改的。沒有的提交的,都返回到原來的狀態

git stash #把所有沒有提交的修改暫存到stash裡面。可用git stash pop回覆。

git reset --hard hash #返回到某個節點,不保留修改,已有的改動會丟失。

git reset --soft hash #返回到某個節點, 保留修改,已有的改動會保留,在未提交中,git status或git diff可看。

git clean -df #返回到某個節點,(未跟蹤檔案的刪除)

git clean 引數

-n 不實際刪除,只是進行演練,展示將要進行的操作,有哪些檔案將要被刪除。(可先使用該命令引數,然後程式設計客棧再決定是否執行)

-f 刪除檔案

-i 顯示將要刪除的檔案

-d 遞迴刪除目錄及檔案(未跟蹤的)

-q 僅顯示錯誤,成功刪除的檔案不顯示

注:git reset 刪除的是已跟蹤的檔案,將已commit的回退。

git clean 刪除的是未跟蹤的檔案

也可以使用:

git clean -nxdf(檢視要刪除的檔案及目錄,確認無誤後再使用下面的命令進行刪除)

git checkout程式設計客棧 . && git clean -xdf

git丟棄本地修改的所有檔案(新增 刪除 修改)

本地修改了許多檔案,其中有些是新增的,因為開發需要這些都不要了,想要丟棄掉,可以使用如下命令 首先我們可以先用git status來檢視當前的修改 git status on branch dev changes not staged for commit use git add to update...

Git 丟棄本地修改

分為三種情況 一 還未將變更從工作區加入到暫存區,即未執行git add命令前,如 此時可以使用git checkout命令來撤銷修改,如 git checkout rainbow.txt start.txt git checkout git checkout txt 二 已將變更加入到暫存區,即已...

git 放棄本地某個檔案的修改,或所有修改

18 57 2015 11 17 git 放棄本地某個檔案的修改,或所有修改 git checkout 檔名 git checkout 放棄所有檔案的所有修改 git reset hard 版本號 返回到某個版本,放棄所有修改 有一種恢復會保留修改記錄,有一種不會保留修改記錄,請翻閱資料文件 推薦部...