GIT → 05:Git命令行操做

5.1 打開命令行窗口

  • 安裝Git後,在資源管理器的空白處,單擊鼠標右鍵打開窗口,點擊 Git Bash Here ,打開Git命令行窗口,在窗口中可直接使用Linux命令操做:

 

 

 

5.2 初始化Git本地庫

命令: git init
效果:git

注意: .git 目錄中存放的是本地庫相關核心配置文件,也不要隨意刪除與修改vim

  • .git 目錄倉庫目錄說明:
  • hooks目錄:腳本文件的目錄。
  • info目錄:保存了不但願在 .gitignore 文件中管理的忽略模式的全局可執行文件
  • logs目錄:日誌目錄
  • objects目錄:存儲全部數據內容
  • refs目錄:存儲指向數據(分支)的提交對象的指針
  • config文件包含了項目特有的配置選項
  • description文件僅供 GitWeb 程序使用
  • HEAD文件指向當前分支

5.3 設置簽名信息

  • 做用:只爲區分不一樣開發人員的身份信息
  • 格式:

用戶名:mengxuegu
Email: mengxuegu@163.comapp

  • 注意:

這裏的簽名信息和登陸遠程庫的賬號和密碼沒有任何關係(碼雲,Github)spa

  • 命令:
  • 項目級別/倉庫級別:僅在當前目錄的本地Git倉庫範圍內有效
    • git config user.name mengxuegu_pro
    • git config user.email mengxuegu888@163.com
    • 簽名信息保存位置: ./.git/config 文件中

 

 

 

  • 系統用戶級別:登陸當前操做系統的用戶範圍
    • git config --global user.name mengxuegu_glo
    • git config --global user.email mengxuegu666@163.com
    • 簽名信息保存位置: ~/.gitconfig

 

 

 

  • 級別優先級:
    • 就近原則: 項目級別優先於 系統用戶級別
    • 若是隻有 系統用戶級別 的簽名,則採用 系統用戶級別 的簽名信息
    • 兩者都不存在是不容許的。

5.4 Git 基本操做

5.4.1 查看狀態

  • 用於查看工做區、暫存區的狀態
$ git status
On branch master # 默認在master(主幹)分支上
No commits yet # 當前沒有任何的提交
nothing to commit (create/copy files and use "git add" to track)
# 沒有什麼須要提交的(建立/複製文件,使用「git add」命令可追蹤,也就是用git去管理文件)
  •   根據狀態提示,往倉庫中建立一個demo01.txt 文件, 文件保存一些內容(按i 插入內容, 按 :wq 保存並退出, 按 ':q!' 不保存強制退出):
$ vim demo01.txt
  • 再git status 查看狀態提示Untracked files (有未追蹤文件):

5.4.2 添加到暫存區

  • 將工做區的「新建/修改」添加到暫存區
    • 命令: git add <file name>

 

 

  • 恢復,不放到暫存區
    • 命令: git rm --cached <file name>

 

 

5.4.3 提交到本地庫

將暫存區的內容提交到本地庫
命令: git commit [-m "提交說明信息"] <file name>
修改demo1.txt 文件內容,再查看狀態:操作系統

5.4.4 查看版本歷史記錄

顯示最詳細的日誌信息
命令: git log
若是內容太長, 多屏顯示控制方式:
空格鍵: 向下查看
b : 向上查看
q : 退出查看
以漂亮的格式顯示:即每條日誌只顯示一行
命令: git log --pretty=oneline
簡約的格式顯示:
命令: git log --oneline
顯示回滾版本步數[推薦]:
命令: git reflog
HEAD@{回滾對應版本,底層操做須要移動多少步}命令行

5.4.5 前進後退版本

經過HEAD指針來移動回滾版本
基於索引值操做[推薦方式]
命令: git reset --hard <局部索引值>
舉例: git reset --hard 64d3d2a
使用^ (異或)符號:只能後退
命令: git reset --hard HEAD^
注:一個 ^ 表示後退一步,n 個表示後退 n 步
使用~ 符號:只能後退
命令: git reset --hard HEAD~n
注:n指定步數,表示後退 n 步3d

5.4.6 刪除文件並恢復

前提:刪除文件前,此文件須要已經提交過本地庫,纔可恢復
刪除:rm 文件名.txt
命令: git reset --hard <歷史記錄索引值>
刪除操做已經提交到本地庫:指針位置指向歷史記錄
刪除操做還沒有提交到本地庫:沒法恢復指針

5.4.7 對比文件差別

將工做區中的文件和暫存區進行比較
命令: git diff <文件名>
舉例:向apply.txt文件添加了兩行,使用git diff apple.txt 查看
將工做區中的文件和本地庫歷史記錄比較
命令: git diff <本地庫中歷史版本> <文件名>
舉例:不帶文件名比較多個文件__日誌

相關文章
相關標籤/搜索