git checkout -- filename? 將工作區的修改后的文件回退到上一個工作區文件版本狀態(即該文件沒修改前),一般我們覺得對文件所做的修改為無用操作時,想撤銷回到修改前可使用此操作
git reset HEAD filename 將緩存區某文件回退到上一緩存版本,該操作對工作區沒有影響(暫存區)
git reset --hard HEAD filename ?帶上--hard參數后則是將暫存區和工作區的文件強行回退(暫存區+工作區)
git reset --mixed HEAD filename? 帶上--hard參數后則是將版本庫和暫存區的文件強行回退(版本庫+暫存區)
git reset --soft HEAD filename? 帶上--hard參數后則是將版本庫的文件強行回退(版本庫)
git reset 版本號(版本表示) 將緩存區回退到特定版本,不影響工作區文件
git commit --amend ?撤銷上一次提交,并將暫存區(緩存區)文件重新提交
git checkout ?--filename ?拉取暫存區的文件,并將其替換工作區的文件(也即是回退到工作區上一版本(即暫存區目前版本)),注意該命令和 git checkout branchname 命令的區別,后者是切換到其他分支
git reset HEAD --filename ?拉取最近一次提交的版本庫中的文件到暫存區,該操作不影響工作區
如果想將版本庫的文件拉取到工作區,需先將版本庫文件拉倒暫存區,再從暫存區拉取到工作區,即git reset HEAD --filename,git checkout? --filename兩條命令依次執行
git文件刪除
git rm filename 刪除工作區及暫存區中的文件,相當于刪除文件后執行git add,即等效 rm filename,git add
git rm --cached filename 在不小心將不需要追蹤的文件添加到暫存區后,想刪除暫存的文件但是不想刪除工作區的文件(即僅僅只刪除暫存區的文件)---》適用應用場景 .gitignore git遠程倉庫
git rm -f filename 當工作區或者暫存區文件修改了,防止把修改文件誤刪除
git mv filename ? 相當于 1.mv oldname newname ? ? 2.git rm oldname ? 3.git add newname ? ? ?即將工作區文件改名,將新文件添加到暫存區,并刪除暫存區的老文件