Git命令行操作

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。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 遠程倉庫 登陸GitHub,創(chuàng)建一個新的倉庫,Repository name叫做learngit,創(chuàng)建成功后,在G...
    帆帆叨叨叨閱讀 283評論 0 0
  • git API 常用 git init // 托管git clone '地址' // 克隆某地址下的文件git a...
    RickSimpleBook閱讀 102評論 0 0
  • 創(chuàng)建一個版本庫 首先選擇一個合適的地方,創(chuàng)建一個空目錄 $mkdir learngit$cd learngit$p...
    帆帆叨叨叨閱讀 215評論 0 0
  • 這里參考廖雪峰老師的教程,一步步重頭操作一遍。 概念 Git:分布式版本控制系統(tǒng)和svn 這種集中式的版本控制系統(tǒng)...
    夢想成真213閱讀 9,358評論 0 4
  • Git是目前世界上最先進的分布式版本控制系統(tǒng),很方便公司同事間合作開發(fā),使用Git可以使用可視化的軟件,如Sour...
    LeeCoder閱讀 5,000評論 2 10

友情鏈接更多精彩內(nèi)容