Git常用指令大全:從入門到精通

Git 的常用指令,分為基礎操作、分支管理、遠程協作、撤銷操作和高級功能五個部分,并附上實用示例:


一、基礎操作(必會)

  1. 初始化倉庫

    git init
    # 在當前目錄創建新倉庫
    
  2. 克隆遠程倉庫

    git clone https://github.com/user/repo.git
    # 克隆倉庫到本地(默認克隆 master/main 分支)
    
  3. 查看狀態

    git status
    # 顯示工作區和暫存區狀態(紅色=未跟蹤/修改,綠色=已暫存)
    
  4. 添加文件到暫存區

    git add file.txt         # 添加單個文件
    git add .                # 添加所有修改和新文件
    git add -u               # 添加所有已跟蹤文件的修改
    
  5. 提交更改

    git commit -m "描述信息"   # 提交暫存區的更改
    git commit -am "描述"      # 添加所有已跟蹤文件并提交(跳過 git add)
    

二、分支管理(團隊協作核心)

  1. 分支操作

    git branch                  # 查看本地分支
    git branch feature-login    # 創建新分支
    git checkout feature-login  # 切換到分支
    git checkout -b hotfix      # 創建并切換分支(推薦)
    
  2. 合并分支

    git merge feature-login     # 將 feature-login 合并到當前分支
    git merge --abort           # 終止合并沖突
    
  3. 刪除分支

    git branch -d feature-old   # 刪除已合并的分支
    git branch -D feature-old   # 強制刪除未合并分支
    

三、遠程協作(多人開發必備)

  1. 連接遠程倉庫

    git remote add origin https://github.com/user/repo.git
    
  2. 推送代碼

    git push origin main        # 推送到遠程 main 分支
    git push -u origin feature  # 首次推送并設置上游跟蹤
    
  3. 拉取更新

    git pull origin main        # 拉取遠程更新并合并(= fetch + merge)
    git fetch origin            # 僅獲取遠程更新不合并
    
  4. 查看遠程

    git remote -v               # 查看遠程倉庫地址
    git remote show origin      # 查看遠程倉庫詳細信息
    

四、撤銷操作(救命命令)

  1. 撤銷工作區修改

    git restore file.txt       # 丟棄工作區修改(未 add)
    
  2. 撤銷暫存區

    git restore --staged file.txt  # 將文件移出暫存區(撤銷 add)
    
  3. 修改上次提交

    git commit --amend         # 修改提交信息/添加漏掉的文件
    
  4. 版本回退

    git reset --hard HEAD^     # 回退到上一個提交(慎用!)
    git reset --soft HEAD~1    # 撤銷提交但保留修改
    

五、高級功能(提升效率)

  1. 儲藏更改

    git stash                  # 臨時保存工作區修改
    git stash pop              # 恢復最近儲藏的內容
    
  2. 查看歷史

    git log --oneline --graph  # 圖形化顯示提交歷史
    git log -p file.txt        # 查看文件的修改歷史
    
  3. 標簽管理

    git tag v1.0.0            # 創建標簽
    git push origin --tags     # 推送所有標簽到遠程
    
  4. 比較差異

    git diff                   # 工作區 vs 暫存區
    git diff HEAD              # 工作區 vs 最新提交
    git diff branch1..branch2  # 比較兩個分支
    

🚀 實用組合示例

  1. 日常開發流程

    git checkout -b feature-payment  # 創建新功能分支
    git add .                        # 添加修改
    git commit -m "添加支付功能"       # 提交
    git push origin feature-payment  # 推送到遠程
    # 在 GitHub 創建 PR 請求合并到 main
    
  2. 緊急修復 Bug

    git stash                     # 暫存當前工作
    git checkout main             # 切換到主分支
    git pull origin main          # 更新主分支
    git checkout -b hotfix-login  # 創建修復分支
    # ...修復代碼...
    git commit -am "修復登錄崩潰"
    git push origin hotfix-login
    
  3. 同步他人修改

    git fetch origin              # 獲取遠程更新
    git merge origin/main         # 合并到當前分支
    # 或使用 rebase(更整潔的歷史)
    git rebase origin/main
    

📌 重要提示

  1. 提交前務必 git status 確認修改內容
  2. 頻繁提交小修改,避免大塊提交
  3. 推送前先拉取遠程更新(避免沖突)
  4. 使用 .gitignore 文件忽略不需要跟蹤的文件(如日志、編譯產物)

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

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

相關文章

Redis (REmote DIctionary Server) 高性能數據庫

Redis {REmote DIctionary Server} 高性能數據庫1. What is Redis?1.1. 基于內存的數據存儲2. Install Redis on Linux3. Starting and stopping Redis in the background3.1. systemctl3.2. service 4. Connect to Redis5. 退出 Redis 的命令行界面 (redis-cli)6. redis-serv…

MySQL中的DML(二)

DML(Data Manipulation Language) : 數據庫操作語言,對數據庫中表的數據進行增刪改操作。 創建student表: CREATE DATABASE test; use test; CREATE TABLE student (id int,name varchar(255),address varchar(255),city varchar(255) );INSERT INTO stu…

linux 主機驅動(SPI)與外設驅動分離的設計思想

一、 主機驅動與外設驅動分離Linux中的SPI、I2c、USB等子系統都利用了典型的把主機驅動和外設驅動分離的想法,讓主機端負責產生總線上的傳輸波形,而外設端只是通過標準的API來讓主機端以適當的波形訪問自身。因此這里涉及了4個軟件模塊&#xff1…

如何生成.patch?

文章目錄 ??方法 1:使用 `git format-patch`(推薦)? ??步驟?? ?方法 2:使用 `diff`命令(適用于非 Git 項目)? ??方法 3:使用 `git diff`(生成未提交的變更)? ?方法 4:使用 `quilt`(適用于大量補丁管理) ?如何提交補丁給上游項目?? ?總結?? 在 L…

【計算機網絡 | 第6篇】計算機體系結構與參考模型

文章目錄計算機體系結構與參考模型分層思想🍂常見的3種模型(網絡體系結構)🐦?🔥TCP/IP體系結構各層包含的主要協議🥝每層所解決的主要問題🤔層次間的交互規則🥝實體與對等實體協議服…

Autoware Universe 感知模塊詳解 | 第一節 感性認識多源傳感器標定

傳感器與感知模塊 在基于規則的自動駕駛系統中,感知模塊,承擔著理解車體周圍環境信息的重要職責。它通過融合多種傳感器數據,與定位模塊共同為規劃與控制模塊提供準確、系統化的輸入信息。正如人可以通過眼睛觀察周圍的環境(盲人也…

docker搭建java運行環境(java或者springboot)

目錄1. 創建測試代碼2. 編譯打包3. 代碼環境運行使用普通運行方式使用docker掛載項目(長期運行)1. 創建 Dockerfile2. 構建并后臺運行使用docker swram實現零停機更新(推薦)1. 初始化swarm2. 創建 Dockerfile3. 使用Dockerfile 構…

哈希表特性與unordered_map/unordered_set實現分析

目錄 一、哈希表核心特性總結 1.開放地址法 2.鏈地址法 二、unordered_map/unordered_set實現要點分析 1. 哈希表核心實現(HashTable2.h) (1) 哈希函數處理 (2) 鏈地址法實現 (3) 迭代器設計 (4) hashtable設計 2. unordered_map實現要點 3. unordered_map實現要點 一…

生產環境sudo配置詳細指南

目錄 1. 語法格式 2. 配置示例 3. 使用 /etc/sudoers.d/ 目錄管理(推薦) 4. 基礎配置:用戶權限管理 4.1 ??添加用戶到sudo組 ??4.2 驗證用戶組信息 5. sudo日志配置 5.1 修改sudoers配置文件 5.2 創建日志目錄與權限設置 6. Su…

CSS動態視口單位:徹底解決移動端適配頑疾,告別布局跳動

你是否曾被這些問題困擾: 移動端頁面滾動時,地址欄收縮導致頁面高度突變,元素錯位?100vh在移動設備上實際高度超出可視區域?全屏彈窗底部總被瀏覽器UI遮擋? 這些痛點背后都是傳統視口單位的局限——無法響應…

【P27 4-8】OpenCV Python——Mat類、深拷貝(clone、copyTo、copy)、淺拷貝,原理講解與示例代碼

P27 4-8 1 Mat結構體2 深拷貝VS淺拷貝3 代碼示例1 Mat結構體 2 深拷貝VS淺拷貝 只拷貝了頭部,header,,但是data部分是共用的,速度非常快; 缺點,任意一個修改,另一個data跟著變,這就是…

容器運行時支持GPU,并使用1panel安裝ollama

前言 安裝Docker請看之前博文:Docker實戰中1panel方式安裝Docker。 安裝 NVIDIA 容器工具包 https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html 安裝 先決條件 閱讀有關平臺支持的部分。為您的 Linux 發行版安裝…

高并發內存池 性能瓶頸分析與基數樹優化(9)

文章目錄前言一、性能瓶頸分析操作步驟及其環境配置分析性能瓶頸二、基數樹優化單層基數樹二層基數樹三層基數樹三、使用基數樹來優化代碼總結前言 到了最后一篇嘍,嘻嘻! ??終于是要告一段落了,接下來我們將學什么呢,再說吧&…

C#面試題及詳細答案120道(01-10)-- 基礎語法與數據類型

《前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

機器翻譯:回譯與低資源優化詳解

文章目錄一、機器翻譯的瓶頸二、回譯(Back-Translation)2.1 什么是回譯?2.2 為什么回譯有效?2.3 回譯的缺點與挑戰三、低資源優化詳解3.1 數據層面策略3.2 模型層面策略3.3 架構層面策略四、回譯與低資源優化對比4.1 回譯與低資源…

leetcode-python-344反轉字符串

題目: 編寫一個函數,其作用是將輸入的字符串反轉過來。輸入字符串以字符數組 s 的形式給出。 不要給另外的數組分配額外的空間,你必須原地修改輸入數組、使用 O(1) 的額外空間解決這一問題。 示例 1: 輸入:s [“h”,“…

【Python】新手入門:什么是python字符編碼?python標識符?什么是pyhon保留字?

?? 個人主頁:(時光煮雨) ?? 高質量專欄:vulnhub靶機滲透測試 ?? 希望得到您的訂閱和支持~ ?? 創作高質量博文(平均質量分95+),分享更多關于網絡安全、Python領域的優質內容!(希望得到您的關注~) ??文章目錄?? 前言 ??一、編碼 ??二、標識符 ??三、Py…

為什么要使用消息隊列呢?

消息隊列(Message Queue,MQ)在分布式系統中扮演著 ?異步通信樞紐? 的角色,其核心價值在于解決系統間的解耦、流量削峰、異步處理等關鍵問題。以下是它的核心價值及典型應用場景:?? 一、核心價值:解決什…

ROS機器人云實踐案例博客建議和范文-AI版本

海報圖AI圖1AI圖2zhangrelay的博客以技術深度、跨界思考和社會洞察為特色,內容兼具實用性與前瞻性,但部分觀點存在爭議,需結合具體主題辯證看待。以下從內容特色、技術深度、社會洞察、爭議點四個維度展開分析:一、內容特色&#…

UE小:編輯器模式下「窗口/鼠標不在焦點」時仍保持高幀率

要在UE編輯器模式下「窗口/鼠標不在焦點」時仍保持高幀率,可按下面做法: 關閉編輯器的后臺降頻選項:在 Edit -> Editor Preferences -> General -> Performance 中取消勾選 “Use Less CPU when in Background”。