git參考手冊--文字說明+git速查命令表(圖片)

johnchou發表於2021-09-09
1.檔案修改了檢視檔案狀態:git status

撤銷命令 -- 很重要,沒有就是切換到另一個分支的命令了

git checkout -- readme.txt # 放棄已經修改的檔案 本次修改被放棄(程式碼回退)

git add readme.txt

2.檔案新增到暫緩區域:git status

git reset master readme.txt # 使用 "git reset HEAD ..." 撤出暫存區

git reset HEAD readme.txt # 撤銷已經暫緩的檔案(檔案會放回工作區,已經修改的內容還會儲存)

git checkout -- readme.txt # 如果要丟棄,用checkout

3.檔案修改以後,沒有新增到暫緩區域 檢視檔案是怎樣的修改(差異)

git diff readme.txt # 檢視單前程式碼和倉庫程式碼差別

git diff HEAD -- readme.txt #和指定版本比較差異

- (紅色) 這個是刪除的行

+(綠色) 這個是新新增的行

4.檢視提交的日誌

git log # 日誌是正序,最新修改在最上面

git log --pretty=oneline # 單行顯示(便於瀏覽) 只有版本和commit內容

5.版本

HEAD 單前版本

HEAD^ 上一個版本

HEAD^100 上100個版本

git reset --hard HEAD^ 回退到上一個版本(本地倉庫退到上次提交) 檢視提交記錄,就會少一條提交記錄

6.版本回退和撤銷

git reset --hard HEAD^ 回退一個版本(時光機退到前一個版本)

git log --pretty=oneline # 檢視提交日誌

git reflog # 檢視所有的版本,可以做版本前進的時候使用 前面是版本號 (如果是pull 則不是提示資訊)

git reset --hard 5123697 # 跳轉到指定版本re

git log --graph # 檢視git合併的路線圖

7.名詞

工作區 (Working Directory) 電腦上面可以檢視的目錄

版本庫 (Repository) 隱藏的目錄.git資料夾

README.md 專案自訴檔案

8.刪除檔案需要三步

rm index.php # 刪除工作區檔案

git rm index.php # 刪除倉庫中的檔案

git commit -m "提交" # 提交

9.遠端倉庫操作

origin 這個是遠端倉庫的意思

git push -u origin master # 第一次提交,和遠端倉庫關聯

git push origin master # 提交程式碼,到遠端倉庫,master分支上

git clone # 克隆倉庫

10.分支

git checkout -b dev # 建立分支,並切換到指定分支

git branch dev # 建立分支

git checkout dev # 切換分支

git branch # 檢視所有分支,在當前分支上面會有一個*星號

git branch -va # 檢視所有分支,包括遠端分支

11.合併

git merge dev # 將dev分支和單前分支合併

git merge origin/master # 和遠端主分支合併

git branch -d dev # 合併以後可以刪除分支

git branch -D dev # dev上面還有程式碼沒有合併,採用強制刪除 (新feature分支) 不推薦

git merge --no-ff -m 'merget with no-ff' dev # 禁用快速前進模式

git預設合併程式碼以後,刪除分支,之前的提交的任何資訊都找不到

12.衝突

合併程式碼的時候回產生,

>>>>>> dev
13.切換到遠端分支(本地沒有和這個遠端分支關聯)

git branch -va # 檢視所有分支,包括遠端分支

* master                2571352 更改

  remotes/origin/dev    c6d60e0 修復bug

  remotes/origin/master 2571352 更改

git checkout -b dev origin/dev # 新建一個本地分支,並和遠端分支關聯需要注意的是,dev這個本地分支一定不要存在

新增一個遠端分支,在配置檔案中(.git/config)就可以檢視到

[branch "dev"] # 本地分支名稱

    remote = origin # 遠端分支名稱

    merge = refs/heads/dev # 遠端關聯分支名稱
14.bug分支

正在工作的時候去修復另一個bug,本地修改的檔案還不能提交

git stash # 將當前修復的內容隱藏 -> 這時候去解決bug

git stash list # 檢視隱藏的內容

git stash apply # 恢復隱藏的內容(解決了bug以後)

git stash drop # 刪除隱藏的內容

git stash pop # 恢復隱藏的內容並刪除

15.多人協作:

git remote -v # 檢視遠端庫資訊

git push origin master # 推送到指定倉庫

16.標籤:

git tag # 檢視所有標籤

git tag v1.0 # 新增標籤

git tag v0.9 6224937 # 指定版本新增標籤

git show # 顯示標籤資訊

git tag -a v0.1 -m "version 0.1 released" 3628164 # 建立待說明的標籤 -a指定標籤名,-m指定說明文字

git tag -s v0.2 -m "私鑰簽名標籤" fec145a # -s用私鑰簽名一個標籤

git tag -d v0.1 # 刪除標籤

git push origin :refs/tags/v0.9 # 刪除遠端標籤

全域性配置檔案:

vim ~/.gitconfig

自定義git

git config --global color.ui true # 提示高亮顯示

.gitignore 新增忽略檔案

*.class

*~ # mac git會自動忽略的檔案

.DS_Store # mac git會自動忽略的檔案

git add index.class # 會報錯,必須強制新增 git add -f [file name]

git check-ignore -v index.class # 可以檢測哪條規則錯誤

配置:

新增 --global 針對當前使用者有效,如果不加則對當前倉庫起作用

配置別名

git config --global alias.st status

log 高亮顯示,方便瀏覽(全域性的)

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit"

例項:

1.徹底刪除某次錯誤的提交、並刪除伺服器上面的記錄

git lg # 檢視提交日誌

git reset --hard de5afe9 # 回退到正確的版本

git commit -m '回退' # 新增資訊

git push --force # 提交到伺服器,強制的

圖片描述

本文來源於:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4422/viewspace-2798265/,如需轉載,請註明出處,否則將追究法律責任。

相關文章