git reset與checkout異同點

2021-09-19 03:31:40 字數 843 閱讀 3292

可以實現相同的功能,比如還原本地檔案,但是reset更強調「撤銷」,比如撤銷暫存區、撤銷暫存區和本地,而checkout更強調「替換」,比如用暫存區內容替換本地,用head指向目錄替換暫存區和本地。

reset強調,撤銷

git reset head - - filename 

撤銷上次暫存(取消暫存區的內容,用head指向的目錄(版本庫)替換暫存區)

如果只刪除暫存,保留工作區,可以使用git rm --cached -r filename,-r表示遞迴刪除

git reset - -hard head: 

撤銷本地和暫存區的所有變動(用head指向的目錄(版本庫)替換本地和暫存區)

git reset – hard origin/master 

撤銷本地、暫存區、版本庫(用遠端伺服器的origin/master替換本地、暫存區、版本庫)

checkout強調,替換

git checkout [- -] filename 

- 用暫存區的內容替換工作區的檔案。比如working directory修改了,但是想放棄這些修改,那麼使用git checkout -- a.txt 放棄對a.txt的修改 

git checkout head filename 

- 用head指向的目錄(版本庫)替換暫存區和工作區的檔案

head

git的命令中經常會用到head,可以將head看做乙個指標,head指本地的版本庫,可以將head替換為遠端庫,比如origin/master,origin代表乙個位址,master是分支。

origin

- origin代表遠端倉庫的位址 ,在config檔案中

原文: 

git reset與git revert的區別

格式 git reset q git reset patch p git reset soft mixed hard merge keep q 用法git reset mixed回退commit,保留原始碼,預設方式.git reset soft回退至某個版本,只回退commit資訊 git res...

撤銷 Git reset操作

本文 找回git中丟失的commit 在使用git的過程中,有時候會因為一些誤操作,比如reset rebase merge等。特別是在commit之後又執行了git reset hard head強制回滾本地記錄以及檔案到伺服器版本,導致本地做的修改全部恢復到git當前分支的伺服器版本,同時自己的...

git reset 用法詳解

git reset 命令用於回退版本,可以指定退回某一次提交的版本。git reset soft mixed hard head mixed為預設,可以不用帶該引數,用於重置暫存區的檔案與上一次的提交 commit 保持一致,工作區檔案內容保持不變。git reset head 回退所有內容到上乙個...