1. 程式人生 > 實用技巧 >git命令總結

git命令總結

1、git config

  命令的作用是配置git的相關資訊

  • 設定使用者名稱:git config --global user.name "name"
  • 設定使用者郵箱:git config --global user.email "eamil"
  • 檢視git所有配置資訊:git config --list
  • 檢視配置的使用者名稱:git config user.name
  • 檢視配置的使用者郵箱:git config user.email

2、git status

  命令的作用是顯示檔案狀態,紅色表示工作目錄的檔案被修改但還沒有提交到暫存區,綠色表示已經提交到暫存區。

  • git status -s

3、git add

  命令的作用是將檔案從工作目錄新增至暫存區

  • 把所有修改的資訊新增到暫存區:git add .

4、git commit

  命令的作用是將暫存區的修改提交到本地倉庫,同時會生成一個commmit-id。

  • 將暫存區的修改提交到本地倉庫:git commit -m "message","message"是本次提交的簡述內容,比如新增新功能或修復bug等

5、git pull

  命令的作用是獲取遠端主機某個分支的更新,再與本地指定分支合併。git pull <遠端主機名><遠端分支名>:<本地分支名>

  • 取回遠端主機上的dev分支與本地的master分支合併:git pull origin dev:master
  • 取回遠端主機上的dev分支與當前分支合併:git pull origin dev,該命令相當於以下兩條命令:
    • git fetch origin:獲取遠端主機上所有分支的更新,也可以用git fetch origin dev表示獲取遠端主機上dev分支的更新
    • git merge origin/dev:當前分支合併dev分支

  注意:通過git fetch所取回的更新,在本地主機上需要用“遠端主機名/分支名”的形式讀取,比如origin主機的master分支,就需要用origin/master來讀取。

6、git fetch

  命令的作用是將遠端主機上所有分支的更新取回本地,並記錄在.git/FETCH_HEAD

  • 獲取遠端主機上master分支的程式碼:git fetch origin
  • 在本地新建test分支,並將遠端主機上master分支程式碼下載到本地test分支:git fetch origin master:test

7、git push

  命令的作用是將本地分支的更新推送到遠端主機上
  • 將本地master分支的更新推送到遠端主機上:git push origin master
  • 刪除遠端dev分支:git push origin --delete dev

8、git branch

  命令的作用主要是做分支管理操作

  • 檢視本地分支:git branch
  • 檢視本地和遠端分支:git branch -a
  • 新建名字為test的分支:git branch test
  • 將test分支名字改為dev:git branch -m test dev
  • 刪除名字為dev的分支:git branch -d dev
  • 強制刪除名字為dev的分支:git branch -D dev

9、git checkout

  命令最常用的情形是建立和切換分支以及撤銷工作區的修改。  
  • 切換到tag為v1.0.0時對應的程式碼:git checkout v1.0.0
  • 在tag為v1.0.0的基礎上建立分支名為test的分支:git checkout -b test v1.0.0。該命令相當於以下兩條命令:
    • git branch test v1.0.0:在v1.0.0的基礎上建立分支test
    • git checkout v1.0.0:切換到分支test

10、git tag

  命令主要是對專案標籤進行管理。
  • 檢視已有的標籤歷史記錄:git tag
  • 給當前最新的commit打上標籤:git tag <標籤的定義>
  • 給對應的commit id打上標籤:git tag <標籤定義> <commit id>
  • 刪除tag: git tag -d tagname
  • 本地tag推到線上:git push origin tagname
  • 本地tag刪除後再執行,刪除origin的tag:git push origin :refs/tags/tagname

11、git log

  命令的作用是檢視歷史提交記錄

  • 檢視歷史提交記錄:git log
  • 將每條歷史提交記錄展示成一行:git log --oneline
  • 檢視某個人的提交記錄:git log --author="name"
  • 顯示ASCII圖形表示的分支合併歷史:git log --graph
  • 顯示前n條記錄:git log -n
  • 顯示某個日期之後的記錄:git log --after="2018-10-1",包含2018年10月1號的記錄
  • 顯示某個日期之前的記錄:git log --before="2018-10-1,包含2018年10月1號的記錄
  • 顯示某兩個日期之間的記錄:git log --after="2018-10-1" --before="2018-10-7"

12、git remote

  命令的作用主要是管理遠端倉庫。
  • 檢視關聯的遠端倉庫的名稱:git remote
  • 檢視關聯的遠端倉庫的詳細資訊:git remote -v
  • 新增遠端倉庫的關聯:git remote add origin <遠端倉庫地址>
  • 刪除遠端倉庫的關聯:git remote remove <遠端倉庫名稱>
  • 修改遠端倉庫的關聯:git remote set-url origin <新的遠端倉庫地址>
  • 更新遠端倉庫的分支:git remote update origin --prune

13、git merge

  命令的作用主要是分支的合併。
  • 如果當前是master分支,需要合併dev分支:git merge dev

14、git clone

  獲取一個url對應的遠端Git repo, 建立一個local copy

  • 一般的格式是:git clone [url]
  • 克隆指定分支:git clone -bbranch_nameurl
  • 克隆執行的tag:git clone --branch tagurl

技能一:將本地新建的專案提交到遠端倉庫的步驟

  • 初始化本地倉庫git init
  • 將本地內容新增至git本地暫存區中git add .
  • 將暫存區新增至本地倉庫中git commit -m "first commit"
  • 新增遠端倉庫路徑git remote add origin https://github.com/gybguohao/test.git
  • 將本地內容push至遠端倉庫中git push -u origin master