Git與GitHub第3章 常用Git命令
1.?新建文件并提交到本地庫(kù)
1.1 常用命令
命令 |
作用 |
git status |
查看本地庫(kù)的狀態(tài) |
git add [file] |
將文件添加到暫存區(qū) |
git commit –m?“xxx” [file] |
將暫存區(qū)的文件提交到本地庫(kù),-m 后面為修改的說(shuō)明 |
1.2 實(shí)驗(yàn)步驟
①查看本地庫(kù)狀態(tài),空空如也
②新建一個(gè)文件
vim test.log?或 touch test.log并編輯
此時(shí)再次查看git本地庫(kù)的狀態(tài):
說(shuō)明檢測(cè)到了test.log文件,但是還無(wú)法追蹤,建議使用add命令添加!
③將新建的文件,提交到暫存區(qū):git add
④此時(shí)再次查看,發(fā)現(xiàn)暫存區(qū)已經(jīng)有了文件
⑤將文件從暫存區(qū)提交到本地庫(kù)
此時(shí),會(huì)要求為剛剛的提交作一個(gè)說(shuō)明!
也可以直接使用git commit –m “xxxx” [file]提交!
再次查看狀態(tài),工作空間已清空。
2. 將修改的文件提交到本地庫(kù)
①修改文件
②此時(shí)查看本地庫(kù)的狀態(tài)
發(fā)現(xiàn)已經(jīng)追蹤到了,文件發(fā)生了修改!
③提交修改
先add,再commit!
④此時(shí)再查看本地庫(kù)的狀態(tài)
3. 版本切換
3.1 常用命令
命令 |
作用 |
git log |
以完整格式查看本地庫(kù)狀態(tài) |
git log --pretty=oneline |
以單行模式查看本地庫(kù)狀態(tài) |
git reset --hard HEAD^ |
回退一個(gè)版本 |
git reset --hard HEAD~n |
回退N個(gè)版本 |
git reflog |
查看所有操作的歷史記錄 |
git reset --hard [具體版本號(hào),例如:1f9a527等] |
回到(回退和前進(jìn)都行)指定版本號(hào)的版本, |
git checkout --?[file] |
從本地庫(kù)檢出文件 |
git reset [file] |
從暫存區(qū)撤銷(xiāo)文件 |
git rm --cache [file] |
從暫存區(qū)撤銷(xiāo)文件 |
3.2 回退實(shí)驗(yàn)步驟
多次更新之后,希望回退到之前的修改版本
①查看更新日志
?git log
如果日志過(guò)于凌亂,可以使用一個(gè)簡(jiǎn)單格式查看
②單行簡(jiǎn)單格式查看:
?git log --pretty=oneline
③回退到歷史版本
第一種: git reset --hard HEAD^
回退到上一個(gè)版本,如果想回退多個(gè)版本,就多加幾個(gè)^
第二種:git reset --hard HEAD~n
回退多個(gè)版本,n是你要回退多少步
3.3 前進(jìn)實(shí)驗(yàn)步驟
①查看所有操作的歷史記錄
git reflog
②回退到指定的操作
git reset --hard [具體版本號(hào),例如:1f9a527等]
3.4 文件恢復(fù)
3.4.1 從本地庫(kù)檢出恢復(fù)
git checkout --?[file]
3.4.2?從暫存區(qū)撤回
當(dāng)add一個(gè)文件到暫存區(qū)后,可以執(zhí)行commit操作,也可以執(zhí)行reset撤回操作!
①添加完成后,查看暫存區(qū)情況
②git reset [file]
3.5 刪除操作
如果刪除一個(gè)已經(jīng)在版本庫(kù)中的文件!
①刪除文件
此時(shí)查看,發(fā)現(xiàn)雖然在windows的文件系統(tǒng)中已經(jīng)沒(méi)有了:
但是,使用git status查看版本庫(kù)的情況,發(fā)現(xiàn):
提示,使用git add/rm <file>命令來(lái)更新此次操作!
之后,再次查看
發(fā)現(xiàn)變成了綠色,提交已經(jīng)成功!
②提交更新
然后執(zhí)行,提交操作:
再次查看git status,發(fā)現(xiàn)完成了此次操作!
3.6 比較文件
減號(hào)代表刪除的行,加號(hào)代表增加的行
3.6.1 將工作區(qū)中的文件和暫存區(qū)進(jìn)行比較
$ git diff <file>
3.6.2 將工作區(qū)中的文件和本地庫(kù)當(dāng)前版本進(jìn)行比較
$ git diff HEAD <file>
3.6.3 查看暫存區(qū)和本地庫(kù)最新提交版本的差別
git diff --cached <file>