Git命令行操作分為本地庫操作和遠程庫操作
本地庫初始化
使用如下命令進行g(shù)it本地庫的初始化
git init
初始化的效果創(chuàng)建.git目錄
.git目錄中存放的是本地庫相關(guān)的子目錄和文件,不要刪除也不要修改。
設(shè)置簽名
形式:
用戶名:HFR
Email地址:rhf0410@test.com
作用:區(qū)分不同開發(fā)人員的身份。
辨析:這里設(shè)置的簽名和登錄遠程庫(代碼托管中心)的賬號、密碼沒有任何關(guān)系。
命令:
項目級別/倉庫級別:僅在當前本地庫范圍內(nèi)有效。
git config user.name
git config user.email
系統(tǒng)用戶級別:登錄當前操作系統(tǒng)的用戶范圍。
git config --global user.name
git config --global user.email
優(yōu)先級:就近原則。項目級別的優(yōu)先于系統(tǒng)用戶級別。
不允許二者都沒有。
使用
cat .git/config
查看用戶信息
查看工作區(qū),緩存區(qū)的狀態(tài)
git status
將工作區(qū)的添加/修改添加到暫存區(qū)。
git add [file name]
將文件從緩存區(qū)中刪除
git rm --cache 文件名
將文件從緩存區(qū)提交到本地庫
git commit 文件名
此時如果我們修改文件,在調(diào)用status會發(fā)現(xiàn)以下的變化。
如果想在提交的時候不進入vim編輯器,可以使用如下命令
git commit -m "commit message" good.txt
可以使用如下命令查看過往提交的版本
git log
執(zhí)行效果如下
以一種漂亮的方式顯示
git log --pretty=oneline
只顯示一部分Hash值
git log --oneline
顯示指針的移動值
git reflog
前進后退
基于索引值操作
使用^符號
使用~符號
使用索引值操作
git reset --hard [局部索引值]
使用^符號
只能往后,不能往前。
git reset --hard HEAD^
一個^只能向后移動一位。
使用~符號
如果想往后后退n位,可以使用~
git reset --hard HEAD~n
reset三個參數(shù)的對比
- soft參數(shù):
僅僅在本地庫移動HEAD指針。 - mixed參數(shù):
在本地庫移動HEAD指針。
重置緩存區(qū) - hard參數(shù)
在本地庫移動HEAD指針。
重置暫存區(qū)
重置工作區(qū)
添加到緩存區(qū)的刪除文件找回
首先創(chuàng)建一個文件,取名叫apple.txt。之后將其放入緩存區(qū)中并提交到本地庫。
此時我們將其在工作區(qū)中刪除。
使用如下命令可以將在工作區(qū)中刪除的文件,從緩存區(qū)中恢復過來
git reset --hard HEAD
前提:刪除前,文件存在時的狀態(tài)提交到了本地庫。
操作
git reset --hard [指針位置]
指針位置是歷史記錄或者當前的位置。
- 刪除操作已經(jīng)提交到本地庫:指針位置指向歷史記錄。
- 刪除操作尚未提交到本地庫:指針位置使用HEAD。