Git 日常開發實戰命令大全

🧰 Git 日常開發實戰命令大全

本文整理了 Git 在日常開發中高頻使用的命令集合,覆蓋從基礎操作到進階技巧的完整流程,方便留存查閱👀 ,最后附上所有指令。其中內容包括:

? 本地倉庫管理:添加文件、提交更改、查看日志
🌿 分支管理:創建、切換、合并、刪除本地及遠程分支
🔁 遠程倉庫交互:拉取、推送、強推、更新遠程信息
🔄 版本回退與恢復:reset、checkout、reflog 等操作
📦 代碼暫存(Stash):臨時保存未提交的改動
🏷? 標簽管理(Tag):輕量 tag 與注解 tag 的創建與推送
💡 實用技巧:別名設置、忽略文件規則、清理已合并分支等

📌 一、查看狀態

功能命令
查看當前倉庫狀態(修改/新增文件)git status

? 二、添加文件到暫存區

功能命令
添加指定文件到暫存區git add filename
添加指定目錄下所有內容到暫存區git add path/
添加當前目錄下所有改動到暫存區git add .
添加所有改動(包括刪除文件)git add --all

🔁 三、移除暫存區文件

功能命令
將文件從暫存區移出(保留工作區)git rm --cached filename

📤 四、提交更改

功能命令
提交暫存區內容到本地倉庫(帶簡短備注)git commit -m 'commit message'

💬 提交類型規范(Conventional Commits)

類型說明
build修改構建系統(如依賴庫、Node 版本)
chore非業務性代碼調整(如配置、腳本等)
ci持續集成相關(如 Jenkins、Travis)
docs文檔修改(如 README、API 文檔)
feat新增功能
fix修復 bug
perf性能優化
refactor重構代碼(不改變功能邏輯)
style樣式調整(縮進、空格、分號)
test測試相關修改

📋 五、查看提交日志

功能命令
查看提交歷史記錄git log

🔄 六、版本回退與恢復

功能命令
回退到指定提交(丟棄之后所有更改)git reset --hard hash(前六位即可)
強推本地版本到遠程倉庫git push -f origin 分支名
恢復某個文件到上一次提交的狀態git checkout filename

🌿 七、分支管理

功能命令
查看本地分支git branch
創建新分支git branch 分支名
創建并切換分支git checkout -b 分支名
切換已有分支git checkout 分支名
返回上一個分支git checkout -
刪除本地已合并分支git branch -d [branchName]
強制刪除本地分支git branch -D [branchName]
刪除遠程分支git push origin --delete [branchname]
創建并重命名當前分支git branch -M XXX

📥 八、遠程倉庫同步

功能命令
更新遠程分支信息git remote update origin --prune
獲取遠程分支最新數據git fetch origin
推送本地分支到遠程git push origin 分支名
設置默認追蹤分支并推送git push -u origin 分支名
拉取遠程分支更新(fetch + merge)git pull origin 分支名
拉取遠程分支更新并變基git pull --rebase origin 分支名(推薦)

🔗 九、遠程倉庫操作

功能命令
添加遠程倉庫地址git remote add origin url
修改遠程倉庫地址git remote set-url origin 新地址
刪除遠程倉庫配置git remote rm origin
克隆遠程倉庫git clone https://github.com/jxsrzj0325/mi.com.git

🔀 十、合并與沖突處理

功能命令
合并指定遠程分支到當前分支git merge 遠程分支名
放棄 cherry-pick 操作git cherry-pick --abort
繼續 cherry-pick 操作git cherry-pick --continue
退出 cherry-pick(保留已應用的 commit)git cherry-pick --quit

📦 十一、代碼暫存(Stash)

功能命令
暫存未提交的修改git stash
暫存并添加備注git stash save "備注內容"
查看 stash 列表git stash list
應用最近一次 stashgit stash apply
應用并刪除最近一次 stashgit stash pop
刪除最近一次 stashgit stash drop
清空所有 stash 記錄git stash clear

🏷? 十二、標簽管理(Tag)

功能命令
查看所有 taggit tag -l
創建輕量 taggit tag v1.0.0
創建帶注解的 taggit tag -a v1.0.0 -m "版本描述"
提交單個 tag 到遠程git push origin v1.0.0
提交所有 tag 到遠程git push origin --tags

🧹 十三、其他實用技巧

功能命令
設置 Git 別名(示例:圖形化日志)git config --global alias.lg "log --oneline --graph --all"
刪除所有已合并分支(除 main/master)`git branch --merged
強推覆蓋遠程分支(慎用)git push origin 分支名 --force

所有命令

# 查看狀態
$ git status      # 添加管理(將文件或目錄添加到本地倉庫的暫存區)
$ git add filename      # 將指定的文件添加到暫存區
$ git add path/         # 將指定的目錄添加到暫存區
$ git add .             # 將當前目錄所有內容(文件和文件夾)添加到暫存區
$ git add --all         # 將當前目錄所有內容(文件和文件夾)添加到暫存區# 將文件移出暫存區
$ git rm --cached filename   # 注意:filenamed 是筆誤,應為 filename# 將暫存區的內容提交到本地倉庫 (yarn lint:fix 處理 ESLint 格式)
$ git commit -m ''
# 提交類型說明:
# build: 修改項目構建系統,例如修改依賴庫、外部接口或者升級 Node 版本等;
# chore: 用于對非業務性代碼進行修改,例如修改構建流程或者工具配置等;
# ci:    修改持續集成流程,例如修改 Travis、Jenkins 等工作流配置; 
# docs:  修改文檔,例如修改 README 文件、API 文檔等; 
# style: 修改代碼樣式,例如調整縮進、空格、空行等;
# refactor: 重構代碼,例如修改代碼結構、變量名、函數名等但不改變功能邏輯;
# perf: 性能優化,例如提升性能、減少內存占用等;
# test: 修改測試用例,例如添加、刪除、修改測試用例等;# 查看提交日志
$ git log# 恢復歷史版本
$ git reset --hard hash     # 回退到指定提交(前六位即可)
$ git push -f origin 分支名 # 強推本地版本到遠程倉庫# 恢復文件
$ git checkout filename     # 恢復某個文件到上一次提交的狀態# 查看分支
$ git branch# 更新遠程分支
$ git fetch origin
# 或者
$ git remote update origin --prune   # 推薦,會清理無效引用# 創建分支
$ git branch 分支名# 推送/拉取到遠程分支(git pull 是兩個指令的組合:git fetch 和 git merge)
$ git push origin 分支名
$ git pull origin 分支名# 切換分支
$ git checkout 分支名# 返回上游分支
$ git checkout -     # 返回上一個分支# 合并遠程分支 
$ git merge 遠程分支名# 代碼沖突后,放棄或者退出 cherry-pick 流程:# 放棄,回到操作前的樣子,就像什么都沒發生過
$ git cherry-pick --abort# 退出,不回到操作前的樣子,即保留已經 cherry-pick 成功的 commit,并退出 cherry-pick 流程:
$ git cherry-pick --quit# 刪除本地已合并的分支:
$ git branch -D [branchName] # 刪除遠程分支: 
$ git push origin --delete [branchname]# 添加遠程倉庫地址 并取名 origin
$ git remote add origin url    # 一般新建倉庫就有,直接復制 HTTPSSSH 地址# 創建并切換到 XXX 分支
$ git checkout -b XXX          # 更推薦的方式
# 或者
$ git branch -M XXX            # 如果當前已有內容,重命名為 XXX 分支# 將本地倉庫推送到遠程倉庫
$ git push -u origin 分支名    # 設置默認追蹤遠程分支,后續可以直接 git push# 如果返回:fatal: 遠程 origin 已經存在。此時只需要將遠程配置刪除,重新添加即可;
$ git remote rm origin
$ git remote add origin url# 克隆遠程倉庫(從無到有)
$ git clone https://github.com/jxsrzj0325/mi.com.git# 從遠程倉庫拉取分支(更新)
$ git pull origin master# 保存當前未 commit 的代碼
$ git stash# 保存當前未 commit 的代碼并添加備注
$ git stash save "備注的內容"# 列出 stash 的所有記錄
$ git stash list# 刪除 stash 的所有記錄
$ git stash clear# 應用最近一次的 stash
$ git stash apply# 應用最近一次的 stash,隨后刪除該記錄
$ git stash pop# 刪除最近的一次 stash
$ git stash drop# 查看所有 tag
$ git tag -l # 打 tag
$ git tag v1.0.0 # 提交 tag
$ git push origin v1.0.0# 推送所有 tag 到遠程倉庫
$ git push origin --tags# 查看遠程倉庫信息
$ git remote -v# 設置用戶名和郵箱(如果未設置)
$ git config --global user.name "YourName"
$ git config --global user.email "your@email.com"# 設置默認編輯器(可選)
$ git config --global core.editor "code --wait"   # VS Code 示例# 配置別名(簡化常用命令)
$ git config --global alias.br "branch"
$ git config --global alias.co "checkout"
$ git config --global alias.ci "commit"
$ git config --global alias.st "status"
$ git config --global alias.hist "log --oneline --graph --all"# 取消某個 commit(軟撤銷)
$ git reset --soft HEAD~1# 取消某個 commit(硬撤銷,連帶改動一并刪除)
$ git reset --hard HEAD~1# 修改最后一次提交的信息
$ git commit --amend -m "新的提交信息"# 查看某次提交的詳細內容
$ git show 提交hash# 查看工作區與暫存區差異
$ git diff# 查看暫存區與上次提交差異
$ git diff --cached# 查看遠程分支列表
$ git branch -r# 跟蹤遠程分支并創建本地分支
$ git checkout -b 本地分支名 origin/遠程分支名# 變基方式拉取更新(避免產生 merge commit)
$ git pull --rebase origin 分支名# 忽略某些文件(在 .gitignore 中添加規則)
# 示例:
# *.log
# /node_modules/
# .DS_Store

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90101.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90101.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90101.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

力扣 hot100 Day37

25. K 個一組翻轉鏈表 給你鏈表的頭節點 head ,每 k 個節點一組進行翻轉,請你返回修改后的鏈表。 k 是一個正整數,它的值小于或等于鏈表的長度。如果節點總數不是 k 的整數倍,那么請將最后剩余的節點保持原有順序。 你不能只是…

【力扣 中等 C】516. 最長回文子序列

目錄 題目 解法一 題目 待添加 解法一 int max(int a, int b) {return a > b ? a : b; }int longestPalindromeSubseq(char* s) {const int len strlen(s);int dp[len];for (int i len - 1; i > 0; i--) {dp[i] 1;int leftDown;if (i 1 < len) {leftDown dp…

DAY 54 Inception網絡及其思考

知識點回顧&#xff1a; 傳統計算機視覺發展史&#xff1a;LeNet-->AlexNet-->VGGNet-->nceptionNet-->ResNet 之所以說傳統&#xff0c;是因為現在主要是針對backbone-neck-head這樣的范式做文章 inception模塊和網絡特征融合方法階段性總結&#xff1a;逐元素相加…

1. 微服務架構演進:從單體到SpringCloud

想象一下,你剛剛花了一個下午在生產環境下部署一款單體應用,結果因為一個微小的配置變動,整個系統宕機,大量用戶投訴蜂擁而至。運維緊急回滾,開發又要加班定位問題……這并非孤立事件,而是單體架構在規模和復雜性增長后常見的“連鎖反應”。 一、單體架構:簡單之始,復雜…

Charles 中文版抓包工具詳解:加速 API 調試與網絡問題排查

隨著技術的不斷發展&#xff0c;開發者面臨的任務日益復雜&#xff0c;特別是在調試和優化API接口時。確保應用的網絡請求在各種環境下的穩定性和高效性是提高用戶體驗的關鍵。Charles抓包工具作為一款強大的網絡調試工具&#xff0c;能夠幫助開發者精確捕獲HTTP/HTTPS流量&…

巔峰對話:文心4.5 vs DeepSeek R1 vs 通義Qwen3.0 深度評測

國產大模型三強爭霸&#xff0c;誰主沉浮&#xff1f; 2025年是中國大模型開源爆發之年——百度文心4.5系列橫空出世&#xff0c;阿里通義Qwen3.0登頂開源榜首&#xff0c;而DeepSeek R1在編程領域悄然登頂。 三大技術路線齊頭并進&#xff0c;卻走出了截然不同的道路。 在這…

Linux運維安全新范式:基于TCPIP與SSH密鑰的無密碼認證實戰

文章目錄 前言1. Linux 生成SSH秘鑰對2. 修改SSH服務配置文件3. 客戶端秘鑰文件設置4. 本地SSH私鑰連接測試5. Linux安裝Cpolar工具6. 配置SSHTCP公網地址7. 遠程SSH私鑰連接測試8. 固定SSH公網地址9. 固定SSH地址測試 前言 在云原生架構全面滲透企業IT體系的當下&#xff0c;…

行階梯形矩陣和行最簡形矩陣的區別

目錄 0、主元 一、行階梯形矩陣&#xff08;REF&#xff09; 特點&#xff1a; 二、行最簡形矩陣&#xff08;RREF&#xff09; 特點&#xff1a; 0、主元 主元是&#xff1a;該行最左側的非零元素??&#xff08;即第一個不為零的元素&#xff09;。 一、行階梯形矩陣&…

力扣 3258 統計滿足 K 約束的子字符串數量 I 題解

此題不評價&#xff0c;有點意思&#xff0c;我在次以兩種語言python 和c&#xff0c;用兩種相反的思路寫&#xff0c;注意細節不同。 原題鏈接3258. 統計滿足 K 約束的子字符串數量 I - 力扣&#xff08;LeetCode&#xff09; 法一&#xff0c;c&#xff0c;先統計出不符合的…

創意Python愛心代碼

創意Python愛心代碼分享的技術文章大綱 引言 簡述Python在圖形繪制和創意編程中的優勢介紹愛心代碼在編程社區中的受歡迎程度本文涵蓋的創意愛心代碼示例及其技術亮點 基礎愛心繪制 使用數學公式和turtle庫繪制簡單愛心代碼示例&#xff1a; import turtle def draw_heart…

OSPF路由過濾

一、概述 OSPF對接收的路由的過濾適用于任意OSPF路由器&#xff0c;是通過對接收的路由設置過濾 策略&#xff0c;只允許通過過濾策略的路由被添加到本地設備的IP路由表中&#xff08;對進入OSPF路由表不進行過濾&#xff09;&#xff0c;這主要是為了減小本地設備的IP路由表規…

NPM組件 nodemantle002 等竊取主機敏感信息

【高危】NPM組件 nodemantle002 等竊取主機敏感信息 漏洞描述 當用戶安裝受影響版本的 nodemantle002 等NPM組件包時會竊取用戶的主機名、用戶名、工作目錄、IP地址等信息并發送到攻擊者可控的服務器地址。 MPS編號MPS-qrk7-ayms處置建議強烈建議修復發現時間2025-07-04投毒…

山東布谷科技RC物聯網絡遠程遙控車項目源碼開發:直播行業的新機遇

在當今數字化時代&#xff0c;直播行業發展得如火如荼&#xff0c;各類基于直播的創新項目不斷涌現。從 2024 年的彈幕游戲到 2025 年的RC遠控車項目&#xff0c;這些都是泛直播行業衍生出的極具潛力的流量項目玩法。其中&#xff0c;山東布谷鳥網絡科技有限公司推出的RC遠程遙…

2025年全國青少年信息素養大賽圖形化(Scratch)編程小學低年級組初賽樣題答案+解析

2025年全國青少年信息素養大賽圖形化&#xff08;Scratch&#xff09;編程初賽樣題答案解析 &#xff08;一&#xff09;分級/分組內容 本賽項晉級過程包括初賽&#xff08;在線預選賽&#xff09;、復賽&#xff08;地區選拔賽&#xff09;和決賽&#xff08;全國總決賽&…

SVG 繪圖專家智能體prompt集錦:Claude、deepseek版本(一)

文章目錄 0 SVG(可縮放矢量圖形)0.1 SVG提示詞通用模板0.2 小紅書風格模版0.3 技術路線圖0.4 甘特圖0.5 數據可視化0.6 原型圖 1 李繼剛Claude Prompt1.1 知識卡片1.2 將真心話轉化為周報1.3 三行情書1.4 將產品賣點轉換為用戶買點1.5 毒舌暖心師1.6 段子手1.7 輸出反轉笑話1.8…

CDN分發加速技術詳解

CDN核心原理與架構1. 基本工作原理邊緣節點緩存&#xff1a;將內容分發到離用戶最近的邊緣服務器DNS智能解析&#xff1a;引導用戶訪問最優節點內容預取與緩存&#xff1a;熱點內容提前部署到邊緣2. 典型CDN架構組成用戶請求 → 智能DNS → 邊緣節點(Edge Server)↑二級節點(Mi…

C++基礎問題

C基礎問題 掌握形參默認帶缺省值的函數 函數調用時 #include <iostream>int sum(int a, int b 20) {return a b; }int main() {int a 10, b 20;int ret sum(a, b);cout << "ret: " << ret << endl;ret sum(a);/*a 使用默認值壓棧: …

AI PPT探秘

—— 序言 ——AI時代已經深入到我們的生活、工作之中&#xff0c;AI不會淘汰所有的人&#xff0c;但會淘汰不會用AI的人&#xff0c;讓AI處理執行&#xff0c;你專注決策&#xff01;—— 典型的四步AI PPT過程 ——AI PPT四步&#xff1a;內容——>排版——>美化——&g…

Gin Web 服務集成 Consul:從服務注冊到服務發現實踐指南(下)

在微服務架構中&#xff0c;Web 層作為系統的入口門面&#xff0c;承擔著請求路由、權限校驗和服務聚合等核心功能。本文將圍繞 Gin 框架與 Consul 注冊中心的集成展開&#xff0c;詳細講解 Web 服務如何實現服務注冊與發現&#xff0c;幫助你構建可擴展的微服務前端架構。 承接…

PDF 的開發工具庫: Adobe PDF Library

Adobe PDF Library 是 Adobe 公司提供的一個軟件開發工具包(SDK)&#xff0c;它本質上是 Adobe Acrobat 的"無界面"版本&#xff0c;但功能更為強大。作為 PDF 處理領域的專業解決方案&#xff0c;它為開發者提供了創建、操作和管理 PDF 文檔的全面能力。 #mermaid-s…