git 命令列學習筆記

2021-08-31 09:38:36 字數 4377 閱讀 4693

1.安裝完git配置使用者名稱和郵箱

git config --global user.name "john doe"

git config --global user.email [email protected]

2.git config --list 檢視所有配置資訊

初始化倉庫 git init

3.檔案提交

檢視 工作區檔案的基本情況  git status     git status --s(short) 輸出更緊湊

追蹤檔案      git add 檔案路徑名稱    

git  add . 新增所有修改的檔案為已追蹤狀態 

git commit -m "提交的內容"   提交檔案到暫存區

git commit -a 跳過暫存區直接提交

git rm 檔案  移除某檔案

git rm  -f 檔案  強制從暫存區移除某檔案

4.對比檔案內容不同

git diff    顯示尚未暫存的改動 

git diff --cached(staged) 檢視已經暫存起來的變化

git difftool 用圖形化的工具輸出git diff結果

5.檢視提交日誌

git log 檢視專案提交日誌

git log -p 檢視每次提交的內容差異 -2 僅顯示最近兩次提交

git log --stat  每次提交的簡略的統計資訊

git log --prett;y=online  將每個提交放在一行顯示

2、將檔案新增到倉庫

git add 檔名 # 將工作區的某個檔案新增到暫存區   

git add -u # 新增所有被tracked檔案中被修改或刪除的檔案資訊到暫存區,不處理untracked的檔案

git add -a # 新增所有被tracked檔案中被修改或刪除的檔案資訊到暫存區,包括untracked的檔案

git add . # 將當前工作區的所有檔案都加入暫存區

git add -i # 進入互動介面模式,按需新增檔案到快取區

3.暫存區檔案提交到本地倉庫

git commit -m "提交說明" # 將暫存區內容提交到本地倉庫

git commit -a -m "提交說明" # 跳過快取區操作,直接把工作區內容提交到本地倉庫

4.檢視倉庫當前狀態

git status

5.比較檔案異同

git diff # 工作區與暫存區的差異

git diff 分支名 #工作區與某分支的差異,遠端分支這樣寫:remotes/origin/分支名

git diff head  # 工作區與head指標指向的內容差異

git diff 提交id 檔案路徑 # 工作區某檔案當前版本與歷史版本的差異

git diff --stage # 工作區檔案與上次提交的差異(1.6 版本前用 --cached)

git diff 版本tag # 檢視從某個版本後都改動內容

git diff 分支a 分支b # 比較從分支a和分支b的差異(也支援比較兩個tag)

git diff 分支a...分支b # 比較兩分支在分開後各自的改動

# 另外:如果只想統計哪些檔案被改動,多少行被改動,可以新增 --stat 引數

6.檢視歷史記錄

git log # 檢視所有commit記錄(sha-a校驗和,作者名稱,郵箱,提交時間,提交說明)

git log -p -次數 # 檢視最近多少次的提交記錄

git log --stat # 簡略顯示每次提交的內容更改

git log --name-only # 僅顯示已修改的檔案清單

git log --name-status # 顯示新增,修改,刪除的檔案清單

git log --oneline # 讓提交記錄以精簡的一行輸出

git log –graph –all --online # 圖形展示分支的合併歷史

git log --author=作者  # 查詢作者的提交記錄(和grep同時使用要加乙個--all--match引數)

git log --grep=過濾資訊 # 列出提交資訊中包含過濾資訊的提交記錄

git log -s查詢內容 # 和--grep類似,s和查詢內容間沒有空格

git log filename # 檢視某檔案的修改記錄,找背鍋專用

7.**回滾

git reset head^ # 恢復成上次提交的版本

git reset head^^ # 恢復成上上次提交的版本,就是多個^,以此類推或用~次數

git reflog

git reset --hard 版本號

--soft:只是改變head指標指向,快取區和工作區不變;

--mixed:修改head指標指向,暫存區內容丟失,工作區不變;

--hard:修改head指標指向,暫存區內容丟失,工作區恢復以前狀態;

8、同步遠端倉庫

git push -u origin master

9.刪除版本庫檔案

git rm 檔名

10、版本庫里的版本替換工作區的版本

git checkout -- test.txt

11、本地倉庫內容推送到遠端倉庫

git remote add origin [email protected]:帳號名/倉庫名.git

12、從遠端倉庫轉殖專案到本地

git clone [email protected]:git帳號名/倉庫名.git

13、建立分支

git checkout -b dev

-b表示建立並切換分支

上面一條命令相當於一面的二條:

git branch dev //建立分支

git checkout dev //切換分支

14、檢視分支

git branch

15、合併分支

git merge dev

//用於合併指定分支到當前分支

git merge --no-ff -m "merge with no-ff" dev

//加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併

16、刪除分支

git branch -d dev

17、檢視分支合併圖

git log  --graph --pretty=oneline --abbrev-commit

18、檢視遠端庫資訊

git remote

// -v 顯示更詳細的資訊

19、git相關配置

# 安裝完git後第一件要做的事,設定使用者資訊(global可換成local在單獨專案生效):

git config --global user.name "使用者名稱" # 設定使用者名稱

git config --global user.email "使用者郵箱"   #設定郵箱

git config --global user.name   # 檢視使用者名稱是否配置成功

git config --global user.email   # 檢視郵箱是否配置

# 其他檢視配置相關

git config --global --list  # 檢視全域性設定相關引數列表

git config --local --list # 檢視本地設定相關引數列表

git config --system --list # 檢視系統配置引數列表

git config --list  # 檢視所有git的配置(全域性+本地+系統)

git config --global color.ui true //顯示git相關顏色

20、撤消某次提交

git revert head # 撤銷最近的乙個提交

git revert 版本號 # 撤銷某次commit

21、拉取遠端分支到本地倉庫

git checkout -b 本地分支 遠端分支 # 會在本地新建分支,並自動切換到該分支

git fetch origin 遠端分支:本地分支 # 會在本地新建分支,但不會自動切換,還需checkout

git branch --set-upstream 本地分支 遠端分支 # 建立本地分支與遠端分支的鏈結

22、標籤命令

git tag 標籤 //打標籤命令,預設為head

git tag //顯示所有標籤

git tag 標籤 �版本號 //給某個commit版本新增標籤

git show 標籤 //顯示某個標籤的詳細資訊

23、同步遠端倉庫更新

git命令列學習筆記

git init 新建乙個空倉庫,倉庫就是當前目錄 git init project name 在當前目錄新建乙個peoject name倉庫,相當於在裡面新建了乙個資料夾 git log 顯示操作歷史記錄 git log pretty oneline 用一行來顯示操作歷史記錄 git reset ...

git命令列學習小結

git reset 回退版本命令 上乙個版本就是head 上上乙個版本就是head 當然往上100個版本寫100個 比較容易數不過來,所以寫成head 100 git reset命令既可以回退版本,也可以把暫存區的修改回退到工作區。當我們用head時,表示最新的版本。git resethead gi...

git 命令列 和 cmd命令列

設定全域性使用者名稱 git config global user.name 區域性把global換成local 檢視全域性 git config global list 檢視git的狀態 git status 初始化 git into 名字 新增乙個檔案 git add readme.txt 刪除...