▓▓▓▓▓▓ 大致介紹 經過前面的學習(小白學Git)已經建立了版本庫,並上傳了文件,這次來學習對這些文件進行基本的操作,即: ◆ 撤銷操作 ◆ 刪除文件 ◆ 恢覆文件 我在此之前,已經將三個文件提交到了版本庫 ▓▓▓▓▓▓ 撤銷操作 撤銷操作的語法: 撤銷操作一般有兩種情況: ◆ 文件修改後還沒有 ...
▓▓▓▓▓▓ 大致介紹
經過前面的學習(小白學Git)已經建立了版本庫,並上傳了文件,這次來學習對這些文件進行基本的操作,即:
◆ 撤銷操作
◆ 刪除文件
◆ 恢覆文件
我在此之前,已經將三個文件提交到了版本庫
▓▓▓▓▓▓ 撤銷操作
撤銷操作的語法:
git checkout -- 文件名
撤銷操作一般有兩種情況:
◆ 文件修改後還沒有提交到暫存區,進行撤銷操作之後,文件恢復到和版本庫中一模一樣
◆文件修改後提交到了暫存區,進行撤銷之後,文件恢復到在提交到暫存區之前的狀態
現在index.htm中的內容是:
index.html
我們修改他的內容為:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html>
1、文件未提交到暫存區
用 git status 命令查看文件狀態
可以看到 index.html 修改了,但是還沒有提交到暫存庫,我們對這個文件進行撤銷操作
然後再打開 index.html 文件,就可以發現,它就恢復到了和版本庫中一模一樣的狀態
2、文件提交到了暫存區,但未提交到版本庫
用 git status 命令查看:
如果這個文件寫錯了,想要修改,但是它已經提交到了暫存區。所以先需要將它撤銷到工作區
git reset HEAD 文件名
寫入命令並查看文件狀態
可以看到,文件已經撤銷到了工作區,但是現在文件的內容還沒有變化,如果想要恢復到修改之前的狀態就使用
git checkout -- 文件名
此時,文件就和版本庫中的文件一模一樣了
▓▓▓▓▓▓ 刪除文件
新寫一個文件,並提交到暫存區
1、先刪除工作區中的文件,在刪除暫存區的文件
要先刪除工作區中的文件,有兩種方式:
◆ 只在文件夾中刪除
◆用命令行
rm 文件名
刪除工作區的文件後,查看文件狀態:
可以看到,工作區中的 game.js 刪除了,但是暫存區中的 game.js 還未刪除
刪除暫存區中的文件:
git rm 文件名
如圖:
這樣就將兩個去的文件都刪除了
2、同時刪除工作區和暫存區中的文件
git rm -f 文件名
如圖:
3、刪除暫存區的文件,不刪除工作區的文件
git rm --cached 文件名
如圖:
▓▓▓▓▓▓ 恢覆文件
如果我們想要恢復某個文件或者整個項目到之前的某個版本,Git提供了方便的操作
可以使用 git log 查看版本庫的信息
如圖:
如果想要將某個文件恢復到某個版本時的狀態,可以使用以下的命令:
git checkout id 文件名
其中的id是圖中框出來的,例如要將 index.html 文件恢復到 add three files 版本時的狀態:
id可以不用全部複製過來,複製一部分就可以了
如果要將所有的文件都恢復到某個版本,可以使用下麵的命令
git reset --hard id
如圖:
除了用id恢復到某個版本庫時的狀態,還有別的寫法:
//恢復到上一個版本 git reset --hard HEAD^ // 恢復到前兩個版本 git reset --hard HEAD~2
另外,可以用 git reflog 查看恢復的記錄
參考資料: