首先咱們會使用 git init
, 建立一個倉庫. 這個倉庫會存放咱們之後提交的每個版本的庫即(版本庫)git
工做區 fetch
git init
下的文件夾的全部目錄及文件,但不包括.git
目錄下的文件url
暫存區(stage or index)spa
git add
, 添加的文件或文件夾, 暫存區屬於版本庫存儲的一塊區域. 注意:暫存區的文件只屬於該分之下的暫存,若是沒有執行commit
操做, 則不容許切換分支.3d
版本庫
版本庫包含暫存區及分支, 當使用git commit
將暫存區的文件提交到倉庫裏, 暫存區的文件就會清空,生成一個 commit id
進入版本庫中.code
一個git
倉庫通常會建有多個分支, 以便並行開發. HEAD
表示當前分支的指向.
使用git checkout -b dev
當前的 HEAD
指向 dev
分支blog
git checkout -- filename
(前提, filename 已在倉庫中)開發
git reset HEAD -- filename
rem
git reset commit_id
, 修改的內容都處於工做區狀態git reset --soft commit_id
, 修改的內容都處於暫存區狀態git reset --hard commit_id
, 版本庫徹底替換工做區get
git branch dev master
從 master
分支下建立 dev
分支git branch -m dev DEV
修改 dev
分支名稱爲 DEV
分支git diff master dev
比較兩個分支的文件內容變化
git checkout branch_name
切換分支git checkout branch_name --force
強制切換分支, 修改的工做區不會被清除git checkout -b local_branch
從當前分支開啓新分支git checkout -b local_branch origin/remote_branch
從遠程分支remote_branch
拉取到本地local_branch
, 而後切換到local_branch
, 而且創建映射關係git checkout branch_name -- filename
從別的分支拉取文件到本的分支指定文件
git fetch --all
獲取全部遠程全部分支到本地倉庫git fetch branch_name
獲取遠程單獨分支到本地倉庫git fetch branch_name:local_name
獲取遠程分支到本地倉庫, 而且建立一個對應的本地local_name
分支, 不創建映射關係
git push origin master
將本地的master
推到遠程master
分支git push origin :dev
刪除遠程分支dev
git push origin dev:master
將本地的dev
推到遠程master
分支
git diff
當前工做區
與 暫存區
的變化比較git diff HEAD
當前 工做區+暫存區
與 最後一次提交
的變化比較git diff branch_a branch_b
比較兩個分支的 HEAD
git log
默認不用任何參數的話,git log 會按提交時間列出全部的更新,最近的更新排在最上面git log -p
展開顯示每次提交的內容差別git log -[number]
展現最近 number
次的提交信息git log --stat
展現每次提交的內容變化文件的增長刪除的行數git log --shortstat
只顯示 --stat 中最後的行數修改添加移除統計git log --name-only
只顯示修改的文件git log --name-status
顯示修改文件的狀態 [A|M|D]
格式化參數git log --pretty=[short|full|fuller|oneline]
修改log輸出的樣式git log --abbrev-commit
只顯示部分commit_id
git log --relative-date
現實距離當前的時間格式, 如 1 minutes ago
git log --graph
顯示 ASCII 圖形表示的分支合併歷史
git config --global user.name xxx
設置git用戶的名稱git config --global user.mail xxx
設置git用戶的的郵箱git config --global core.autocrlf true|input|false
true
表示檢查是轉換爲當前系統的回車換行lf
or crlf
, false
表示不檢查, input
表示輸入時轉換lf
, 輸出不檢查
git show [commit_id|HEAD] --name-only
查看某一次commit 修改的文件列表
git config --global
設置全局 git
用戶配置 ~/.gitconfig
git config --local
設置本地 git
配置, .git/config
git config --global user.name
輸入用戶名git config --global user.email
輸入郵箱
git remote add origin url
添加遠程 origin 倉庫地址git remote rename origin old-origin
修改遠程分支名稱git remote remove origin
刪除遠程origin倉庫的地址git remote get-url origin
獲取遠程origin倉庫的地址
git rev-parse HEAD
查看當前分支的版本庫的 commit id
git rev-parse HEAD --short
查看當前分支的版本庫的短commit id
git rev-parse branch_name
查看某一個分支的commit id