Git命令速查手冊V1

一、基礎(chǔ)配置

  1. 設(shè)置用戶信息

    git config --global user.name "Your Name" # 配置全局用戶名(提交代碼時(shí)顯示的作者)

    git config --global user.email "your@email.com" # 配置全局郵箱(需與遠(yuǎn)程倉庫賬號(hào)綁定)

    git config --global core.editor "code --wait" # 配置默認(rèn)編輯器(示例為 VS Code,提交時(shí)調(diào)用)

  2. 查看與修改配置

    git config --list # 列出當(dāng)前所有配置項(xiàng)(含全局 / 本地倉庫配置)

    git config user.name # 單獨(dú)查看用戶名配置

    git config --global --unset user.email # 刪除全局郵箱配置(需重新設(shè)置時(shí)使用)

二、倉庫操作

  1. 初始化與關(guān)聯(lián)倉庫

    git init # 在當(dāng)前目錄創(chuàng)建新 Git 倉庫(生成隱藏的.git 文件夾)

    git remote add origin <倉庫URL> # 關(guān)聯(lián)本地倉庫到遠(yuǎn)程倉庫(首次推送前執(zhí)行)

    git remote -v # 查看已關(guān)聯(lián)的遠(yuǎn)程倉庫地址(顯示 fetch/push 雙向地址)

  2. 克隆遠(yuǎn)程倉庫

    git clone <倉庫URL> # 將遠(yuǎn)程倉庫完整復(fù)制到本地(含所有分支歷史)

    git clone <倉庫URL> --depth 1 # 克隆淺倉庫(僅拉取最新 1 次提交,節(jié)省時(shí)間)

    git clone <倉庫URL> <自定義目錄名> # 克隆到指定本地目錄(避免目錄名與倉庫名一致)

  3. 狀態(tài)與日志查看

    git status # 查看工作區(qū) / 暫存區(qū)文件狀態(tài)(紅色 = 未暫存,綠色 = 已暫存)

    git log # 顯示詳細(xì)提交歷史(含作者、時(shí)間、commit id)

    git log --oneline # 簡潔格式顯示歷史(僅顯示 commit id 前 7 位 + 提交信息)

    git log --graph --oneline # 圖形化顯示分支合并歷史(直觀查看分支走向)

    git reflog # 查看所有操作記錄(含已刪除提交、reset 操作,用于找回誤刪內(nèi)容)

三、文件操作

  1. 暫存與提交更改

    git add <文件名> # 將指定文件從工作區(qū)添加到暫存區(qū)

    git add . # 添加當(dāng)前目錄所有修改(新增 / 修改 / 刪除文件)到暫存區(qū)

    git add -p <文件名> # 交互式添加(逐段選擇文件修改內(nèi)容,避免冗余提交)

    git commit -m "標(biāo)簽: 提交信息" # 提交暫存區(qū)到本地倉庫(標(biāo)簽參考:feat/fix/docs)

    git commit -am "標(biāo)簽: 提交信息" # 直接提交已跟蹤文件(跳過 git add,未跟蹤文件無效)

    git commit --amend # 修改最近一次提交信息(未推送到遠(yuǎn)程時(shí)使用)

  2. 撤銷與恢復(fù)修改

    git checkout -- <文件名> # 丟棄工作區(qū)對指定文件的修改(恢復(fù)到最近提交 / 暫存狀態(tài))

    git reset HEAD <文件名> # 將暫存區(qū)的文件撤回至工作區(qū)(取消 git add 操作)

    git restore <文件名> # (新版 Git)替代 git checkout --,丟棄工作區(qū)修改

    git restore --staged <文件名> # (新版 Git)替代 git reset HEAD,將暫存區(qū)文件撤回

    git rm <文件名> # 刪除文件并添加到暫存區(qū)(等價(jià)于手動(dòng)刪除后 git add)

    git rm --cached <文件名> # 從暫存區(qū)移除文件,但保留本地文件(停止跟蹤該文件)

四、分支管理

  1. 分支基礎(chǔ)操作

    git branch # 顯示所有本地分支(當(dāng)前分支前帶 *)

    git branch -a # 顯示所有分支(本地 + 遠(yuǎn)程,遠(yuǎn)程分支格式:remotes/origin/xxx)

    git branch -vv # 查看分支與遠(yuǎn)程分支的跟蹤關(guān)系(如 main -> origin/main)

    git branch <新分支名> # 創(chuàng)建新分支(基于當(dāng)前分支最新提交,不切換)

    git checkout -b <新分支名> # 創(chuàng)建新分支并立即切換(舊版命令)

    git switch -c <新分支名> # 創(chuàng)建新分支并立即切換(新版 Git 推薦,更直觀)

    git checkout <分支名> # 切換到已存在的本地分支(舊版命令)

    git switch <分支名> # 切換到已存在的本地分支(新版 Git 推薦)

  2. 分支刪除與合并

    git branch -d <分支名> # 刪除本地已合并的分支(未合并會(huì)提示失敗,防止誤刪)

    git branch -D <分支名> # 強(qiáng)制刪除本地分支(無論是否合并,謹(jǐn)慎使用)

    git merge <分支名> # 將指定分支合并到當(dāng)前分支(如合并 dev 到 main)

    git merge --abort # 合并沖突時(shí),放棄當(dāng)前合并操作(回到合并前狀態(tài))

    git rebase <分支名> # 變基操作(將當(dāng)前分支提交 “嫁接” 到目標(biāo)分支,使歷史更線性)

    git rebase --abort # 變基沖突時(shí),放棄當(dāng)前變基操作

  3. 遠(yuǎn)程分支同步

    git fetch # 拉取遠(yuǎn)程倉庫所有分支更新(不合并到本地,僅同步信息)

    git fetch origin <分支名> # 拉取遠(yuǎn)程指定分支的更新(節(jié)省時(shí)間)

    git pull # 拉取遠(yuǎn)程跟蹤分支更新并合并(等價(jià)于 git fetch + git merge)

    git pull origin <遠(yuǎn)程分支>:<本地分支> # 拉取遠(yuǎn)程分支并合并到指定本地分支

    git push -u origin <分支名> # 推送本地分支到遠(yuǎn)程并建立跟蹤(首次推送新分支用)

    git push # 推送本地當(dāng)前分支到遠(yuǎn)程跟蹤分支(已建立跟蹤后使用)

    git push origin --delete <分支名> # 刪除遠(yuǎn)程分支(需先確保本地分支已處理)

五、高級(jí)操作

  1. 版本回退

    git reset --soft HEAD~1 # 撤銷最近 1 次提交(保留工作區(qū) / 暫存區(qū)修改,僅刪提交記錄)

    git reset --mixed HEAD~1 # 撤銷最近 1 次提交(保留工作區(qū),刪除暫存區(qū),默認(rèn)模式)

    git reset --hard HEAD~1 # 徹底撤銷最近 1 次提交(刪除工作區(qū) / 暫存區(qū)修改,謹(jǐn)慎?。?/p>

    git reset --hard <commit-id> # 回滾到指定 commit(需先通過 git log 獲取 commit id)

    git revert <commit-id> # 創(chuàng)建新提交撤銷指定提交(已推送到遠(yuǎn)程時(shí)使用,不破壞歷史)

  2. 標(biāo)簽管理(版本標(biāo)記)

    git tag # 列出所有本地標(biāo)簽(常用于標(biāo)記發(fā)布版本,如 v1.0.0)

    git tag -a <標(biāo)簽名> -m "描述" # 創(chuàng)建帶注釋的標(biāo)簽(含版本說明,推薦)

    git tag <標(biāo)簽名> # 創(chuàng)建輕量標(biāo)簽(僅記錄 commit id,無額外信息)

    git tag -d <標(biāo)簽名> # 刪除本地標(biāo)簽

    git push origin <標(biāo)簽名> # 推送指定標(biāo)簽到遠(yuǎn)程倉庫

    git push origin --tags # 推送所有本地標(biāo)簽到遠(yuǎn)程倉庫

    git push origin --delete <標(biāo)簽名> # 刪除遠(yuǎn)程標(biāo)簽

  3. 臨時(shí)暫存(工作區(qū)保存)

    git stash # 暫存當(dāng)前工作區(qū)未提交的修改(臨時(shí)切換分支時(shí)使用)

    git stash list # 查看所有暫存的 stash 記錄(按時(shí)間排序,stash@{0} 為最新)

    git stash pop # 恢復(fù)最近 1 次 stash 的內(nèi)容,并刪除該 stash 記錄

    git stash drop <stash-id> # 刪除指定 stash 記錄(如 git stash drop stash@{1})

六、沖突解決

  1. 差異對比

    git diff # 顯示工作區(qū)與暫存區(qū)的文件差異(未 git add 的修改)

    git diff --staged # 顯示暫存區(qū)與最新提交的文件差異(已 git add 未 commit 的修改)

    git diff <分支1> <分支2> # 比較兩個(gè)分支的所有文件差異

    git diff <commit-id1> <commit-id2> # 比較兩個(gè) commit 之間的差異

  2. 沖突處理工具

    git mergetool # 啟動(dòng)外部合并工具(如 VS Code、Beyond Compare)解決沖突

    git cherry-pick <commit-id> # 將指定 commit “復(fù)制” 到當(dāng)前分支(跨分支復(fù)用單個(gè)提交)

    git checkout --theirs <文件名> # 沖突時(shí),選擇遠(yuǎn)程分支的文件版本

    git checkout --ours <文件名> # 沖突時(shí),選擇本地分支的文件版本

使用提示

  1. 分支命名建議:main(主分支)、dev(開發(fā)分支)、feature/xxx(功能分支)、hotfix/xxx(緊急修復(fù)分支)
  2. 提交信息規(guī)范:按 “標(biāo)簽:描述” 格式(如 feat: 新增登錄功能、fix: 修復(fù)支付 bug),可通過 git hook 強(qiáng)制校驗(yàn)
  3. 危險(xiǎn)操作預(yù)警:git reset --hard、git checkout -- <文件> 會(huì)刪除本地修改,執(zhí)行前建議用 git status 確認(rèn)狀態(tài)
  4. 幫助查詢:任何命令后加 --help(如 git merge --help)可查看官方詳細(xì)文檔
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容