Git學習筆記

2022-01-12 18:55:54 字數 4233 閱讀 3647

git的組成:工作區、暫存區、本地歷史倉庫和遠端倉庫,通過不同的工作區和倉庫位置的不同實現了版本的靈活配置,學習命令記錄如下:

1、初始化倉庫

git init
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 fetch  origin master

git fetch比git pull更加安全

Git學習筆記

git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...

git 學習筆記

1 git checkout master 切換分支 2 git checkout b xx 新建分支,同時切換到該分支 3 dev 4 git add a 將變動檔案,提交到index 5 git commit m 將 暫存區 檔案,加入到版本控制中。6 git checkout master 7...

Git 學習筆記

顯示版本庫.git所在的目錄 git rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...