創(chuàng)建版本庫
首先,選擇一個合適的地方凡蜻,創(chuàng)建一個空目錄:
mkdir learngit (庫名:learngit)
cd learngit ( 庫名:learngit)
pwd (pwd命令用于顯示當前目錄)
git init (把這個目錄變成Git可以管理的倉庫)
此時learngit
目錄下會多一個.git
文件划栓,用來跟蹤管理版本庫的忠荞。
將修改從工作區(qū)添加到版本庫中的暫存區(qū)
git add . (添加所有文件)
git add text.txt (添加text.txt到暫存區(qū))
將修改從版本庫中的暫存區(qū)提交到當前分支
git commit -m "" (""中的用來說明本次提交)
查看當前狀態(tài)
git status
查看具體修改內(nèi)容
git diff
查看每次修改的說明
git log
git log --oneline (簡化顯示委煤。只顯示commitID commit)
版本回退
git reset --hard commitID
git reset --hard head^ (返回最近上一個版本)
說明:head代表當前版本碧绞。
head^代表當前版本的前一個版本头遭。
head~100 代表當前版本的前第100個版本计维。
當忘記之前版本的commitID時使用如下方法查看commitID
git reflog
用來記錄每一條命名撕予。
關(guān)于工作區(qū)和暫存區(qū)
前面講了我們把文件往Git版本庫里添加的時候实抡,是分兩步執(zhí)行的:
第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區(qū)踩寇;
第二步是用git commit提交更改俺孙,實際上就是把暫存區(qū)的所有內(nèi)容提交到當前分支掷贾。
撤銷修改
一 沒有執(zhí)行git add
git checkout -- file.txt
可以丟棄工作區(qū)的修改
這里有兩種情況:
一種是fie.txt自修改后還沒有被放到暫存區(qū),現(xiàn)在想帅,撤銷修改就回到和版本庫一模一樣的狀態(tài)港准;
一種是file.txt已經(jīng)添加到暫存區(qū)后浅缸,又作了修改疗杉,現(xiàn)在烟具,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)。
總之嗡午,就是讓這個文件回到最近一次git commit或git add時的狀態(tài)荔睹。
二 執(zhí)行了git add
第一步用命令git reset HEAD file
僻他,就回到了場景1吨拗,第二步按一操作劝篷。
刪除文件
git rm test.txt
git commit -m "remove test.txt"
刪除text.txt
文件
git rm test.txt
git checkout -- test.txt
將錯誤刪除的文恢復(fù)娇妓。