Git命令之江湖百曉生

Git 命令大全

第一章:Git 簡介

Git 是一個開源的分布式版本控制系統,由 Linus Torvalds 于 2005 年創建,用于有效、高速地處理從小到大的項目。它是一個命令行工具,用于跟蹤和管理源代碼歷史記錄。

第二章:Git 的 100 種命令

以下是 Git 的 100 種常用命令,每種命令都附有基本用法、使用場景和示例。

基礎命令

  1. git init - 初始化一個新的 Git 倉庫。

    • 場景:開始一個新項目。
    • 示例:git init my-project
  2. git clone [url] - 克隆遠程倉庫到本地。

    • 場景:獲取遠程倉庫的副本。
    • 示例:git clone https://github.com/user/repo.git
  3. git add [file] - 將文件添加到暫存區。

    • 場景:準備提交。
    • 示例:git add README.md
  4. git commit -m "[message]" - 提交更改到倉庫。

    • 場景:保存更改。
    • 示例:git commit -m "Add README"
  5. git status - 顯示倉庫的狀態。

    • 場景:查看當前狀態。
    • 示例:git status
  6. git log - 顯示提交歷史。

    • 場景:查看歷史記錄。
    • 示例:git log
  7. git diff - 顯示更改的文件差異。

    • 場景:查看更改。
    • 示例:git diff
  8. git branch - 列出本地分支。

    • 場景:查看分支。
    • 示例:git branch
  9. git checkout [branch] - 切換到指定分支。

    • 場景:切換分支。
    • 示例:git checkout feature
  10. git merge [branch] - 合并指定分支到當前分支。

    • 場景:合并分支。
    • 示例:git merge feature

分支管理

  1. git branch -a - 列出所有分支(本地和遠程)。

    • 示例:git branch -a
  2. git branch -r - 列出遠程分支。

    • 示例:git branch -r
  3. git branch -d [branch] - 刪除本地分支。

    • 示例:git branch -d feature
  4. git branch -D [branch] - 強制刪除本地分支。

    • 示例:git branch -D feature
  5. git checkout -b [branch] - 創建并切換到新分支。

    • 示例:git checkout -b feature
  6. git push origin --delete [branch] - 刪除遠程分支。

    • 示例:git push origin --delete feature
  7. git fetch - 從遠程倉庫獲取所有分支。

    • 示例:git fetch
  8. git pull - 從遠程倉庫獲取并合并到當前分支。

    • 示例:git pull origin master
  9. git push [remote] [branch] - 推送本地分支到遠程倉庫。

    • 示例:git push origin feature
  10. git remote -v - 顯示遠程倉庫信息。

    • 示例:git remote -v

標簽管理

  1. git tag - 列出所有標簽。

    • 示例:git tag
  2. git tag [tagname] - 創建標簽。

    • 示例:git tag v1.0.0
  3. git tag -d [tagname] - 刪除標簽。

    • 示例:git tag -d v1.0.0
  4. git push origin --tags - 推送所有標簽到遠程倉庫。

    • 示例:git push origin --tags
  5. git checkout [tagname] - 切換到標簽的版本。

    • 示例:git checkout v1.0.0

遠程倉庫管理

  1. git remote add [name] [url] - 添加遠程倉庫。

    • 示例:git remote add origin https://github.com/user/repo.git
  2. git remote rename [old] [new] - 重命名遠程倉庫。

    • 示例:git remote rename origin upstream
  3. git remote remove [name] - 刪除遠程倉庫。

    • 示例:git remote remove upstream
  4. git remote set-url [name] [url] - 設置遠程倉庫的 URL。

    • 示例:git remote set-url origin https://github.com/newuser/repo.git
  5. git ls-remote [url] - 顯示遠程倉庫的引用和哈希值。

    • 示例:git ls-remote https://github.com/user/repo.git

撤銷和重置

  1. git reset [file] - 重置暫存區的文件。

    • 示例:git reset README.md
  2. git reset --hard - 重置工作目錄和暫存區到最后一次提交。

    • 示例:git reset --hard
  3. git revert [commit] - 撤銷指定的提交。

    • 示例:git revert 1234567
  4. git clean -f - 清除未跟蹤的文件。

    • 示例:git clean -f
  5. git clean -fd - 清除未跟蹤的文件和目錄。

    • 示例:git clean -fd
  6. git stash - 暫存工作目錄的更改。

    • 示例:git stash
  7. git stash pop - 恢復之前暫存的更改。

    • 示例:git stash pop
  8. git stash list - 列出所有暫存的更改。

    • 示例:git stash list
  9. git stash drop [stash] - 刪除指定的暫存更改。

    • 示例:git stash drop stash@{0}
  10. git reflog - 顯示所有參考的日志。

    • 示例:git reflog

子模塊管理

  1. git submodule add [url] - 添加子模塊。

    • 示例:git submodule add https://github.com/user/submodule.git
  2. git submodule update --init --recursive - 初始化和更新所有子模塊。

    • 示例:git submodule update --init --recursive
  3. git submodule status - 顯示子模塊的狀態。

    • 示例:git submodule status
  4. git submodule deinit [path] - 取消初始化子模塊。

    • 示例:git submodule deinit path/to/submodule
  5. git submodule foreach [command] - 對所有子模塊執行命令。

    • 示例:git submodule foreach git pull origin master

忽略文件

  1. git ignore - 列出全局忽略的文件。

    • 示例:git ignore
  2. git config --global core.excludesfile ~/.gitignore_global - 設置全局忽略文件。

    • 示例:git config --global core.excludesfile ~/.gitignore_global
  3. git add .gitignore - 將忽略文件添加到倉庫。

    • 示例:git add .gitignore
  4. git check-ignore [file] - 檢查文件是否被忽略。

    • 示例:git check-ignore build/
  5. git ls-files --others --ignored --exclude-standard - 列出所有被忽略的文件。

    • 示例:git ls-files --others --ignored --exclude-standard

交互式命令

  1. git add -i - 進入交互式添加模式。

    • 示例:git add -i
  2. git commit -a - 自動暫存所有已跟蹤的更改并提交。

    • 示例:git commit -a
  3. git rebase -i [commit] - 交互式變基。

    • 示例:git rebase -i HEAD~3
  4. git cherry-pick [commit] - 選擇性地應用提交。

    • 示例:git cherry-pick 1234567
  5. git bisect - 二分查找錯誤的提交。

    • 示例:git bisect start
  6. git blame [file] - 顯示文件每一行的最后提交者。

    • 示例:git blame README.md
  7. git grep [pattern] - 在工作目錄中搜索文本。

    • 示例:git grep "Hello World"
  8. git gui - 打開 Git 的圖形用戶界面。

    • 示例:git gui
  9. gitk - 打開 Git 的圖形歷史查看工具。

    • 示例:gitk
  10. git mergetool - 使用圖形工具解決合并沖突。

    • 示例:git mergetool

配置和幫助

  1. git config --list - 列出所有 Git 配置。

    • 示例:git config --list
  2. git config --global user.name "[name]" - 設置全局用戶名。

    • 示例:git config --global user.name "John Doe"
  3. git config --global user.email "[email]" - 設置全局用戶郵箱。

    • 示例:git config --global user.email "john.doe@example.com"
  4. git config --global color.ui auto - 啟用顏色顯示。

    • 示例:git config --global color.ui auto
  5. git help [command] - 顯示指定命令的幫助信息。

    • 示例:git help commit
  6. git --version - 顯示 Git 的版本。

    • 示例:git --version
  7. git help config - 顯示關于配置選項的幫助信息。

    • 示例:git help config
  8. git help每一天 - 顯示關于每一天命令的幫助信息。

    • 示例:git help everyday
  9. git help glossary - 顯示 Git 術語表。

    • 示例:git help glossary
  10. git help tutorial - 顯示 Git 教程。

    • 示例:git help tutorial

工作流命令

  1. git flow init - 初始化一個 Git Flow 工作流。

    • 示例:git flow init
  2. git flow feature start [feature] - 開始一個新的功能分支。

    • 示例:git flow feature start login
  3. git flow feature finish [feature] - 完成一個功能分支。

    • 示例:git flow feature finish login
  4. git flow release start [version] - 開始一個新的發布分支。

    • 示例:git flow release start 1.0.0
  5. git flow release finish [version] - 完成一個發布分支。

    • 示例:git flow release finish 1.0.0
  6. git flow hotfix start [hotfix] - 開始一個新的熱修復分支。

    • 示例:git flow hotfix start 1.0.1
  7. git flow hotfix finish [hotfix] - 完成一個熱修復分支。

    • 示例:git flow hotfix finish 1.0.1
  8. git flow support start [support] - 開始一個新的支持分支。

    • 示例:git flow support start 1.0-stable
  9. git flow support finish [support] - 完成一個支持分支。

    • 示例:git flow support finish 1.0-stable
  10. git flow version - 顯示當前 Git Flow 版本。

    • 示例:git flow version

子命令

  1. git clean - 清除工作目錄中的未跟蹤文件。

    • 示例:git clean
  2. git describe - 顯示最近的標簽和提交的哈希值。

    • 示例:git describe
  3. git fsck - 檢查 Git 倉庫的完整性。

    • 示例:git fsck
  4. git gc - 清理無用的文件和優化倉庫。

    • 示例:git gc
  5. git prune - 移除引用的遠程跟蹤分支。

    • 示例:git prune
  6. git repack - 重新打包倉庫中的包文件。

    • 示例:git repack
  7. git whatchanged - 顯示倉庫的變更日志。

    • 示例:git whatchanged
  8. git worktree add - 添加一個新的工作樹。

    • 示例:git worktree add
  9. git worktree list - 列出所有工作樹。

    • 示例:git worktree list
  10. git worktree remove - 刪除一個工作樹。

    • 示例:git worktree remove

腳本和鉤子

  1. git init-db - 創建一個新的 Git 倉庫。

    • 示例:git init-db
  2. git get-tar-commit-id [file] - 獲取 tar 文件的提交 ID。

    • 示例:git get-tar-commit-id archive.tar
  3. git instaweb - 啟動一個簡單的 web 服務器。

    • 示例:git instaweb
  4. git archive - 創建一個歸檔文件。

    • 示例:git archive
  5. git bisect run [command] - 自動執行 bisect 測試。

    • 示例:git bisect run make
  6. git cat-file - 顯示 Git 對象的信息。

    • 示例:git cat-file
  7. git check-attr - 檢查文件屬性。

    • 示例:git check-attr
  8. git checkout-index - 從索引中檢出文件。

    • 示例:git checkout-index
  9. git commit-tree - 創建一個新的提交。

    • 示例:git commit-tree
  10. git diff-files - 顯示工作目錄和索引的差異。

- 示例:`git diff-files`

請注意,這個列表并不完整,Git 有更多命令和選項,可以根據具體需求使用。這些命令覆蓋了 Git 的基本使用,分支管理,標簽管理,遠程倉庫管理,撤銷和重置,子模塊管理,忽略文件,交互式命令,配置和幫助,工作流命令,子命令,腳本和鉤子等多個方面。

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

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

相關文章

【軟件設計師】面向對象技術

1.面向對象基礎 1.1 基本概念 方法重載是函數名字相同,參數列表不同 組成 即組合,指整體與部分的關系,整體與部分生命周期相同 聚合 關聯關系的一個特例,是體現整體與部分,即使has-a的關系,此時整體與部分…

C++語言學習(六)—— 類與對象(二)

目錄 一、對象數組 二、對象指針 三、this 指針 四、類類型作為參數類型的三種形式 4.1 對象本身作為參數 4.2 對象指針作為參數 4.3 對象引用作為參數 五、靜態成員 5.1 靜態數據成員 5.2 靜態成員函數 六、友元機制 6.1 友元函數 6.2 友元類 七、類的組合 八、…

【LakeHouse】Apache Iceberg + Amoro 助力網易構建云原生湖倉

Apache Iceberg Amoro 助力網易構建云原生湖倉 1.云原生湖倉背景與挑戰2.Apache Iceberg 、Amoro 與云原生2.1 Apache Iceberg2.2 Amoro 簡介 3.Apache Iceberg Amoro 云原生實踐3.1 云上湖倉案例一3.2 云上湖倉案例二3.3 云上湖倉案例三 4.Amoro 未來發展規劃 出品社區&…

【代碼隨想錄——回溯算法二周目】

1. 組合總和 var (path []intres [][]int )func combinationSum(candidates []int, target int) [][]int {path make([]int, 0)res make([][]int, 0)dfs(candidates,target,0,0)return res }func dfs(candidates []int, target int,tempTarget int,start int) {if tempTarg…

Django-auth組件

Django-auth組件 1 表結構 我們從python manage.py migrate為我們創建的auth組件內置的表開始看 auth_user:用戶表存儲用戶信息(登錄admin后臺) 里面的字段分兩類:用戶基本信息(用戶名,郵箱,密…

華為OD機試【找出通過車輛最多顏色】(java)(100分)

1、題目描述 在一個狹小的路口,每秒只能通過一輛車,假設車輛的顏色只有 3 種,找出 N 秒內經過的最多顏色的車輛數量。 三種顏色編號為0 ,1 ,2。 2、輸入描述 第一行輸入的是通過的車輛顏色信息[0,1,1,2] &#xff0…

嵌入式0基礎開始學習 ⅠC語言(4)循環結構

0.問題引入 求0~100數據之和: int sum 0; sum 1234....100; 廢手,那么有沒有一種好的方法取操作呢? int sum 0; int i 1; sum sum i; // sum 01; …

GB28181協議中常用SDP信息的含義

u字段:u行應填寫視音頻文件的URI。該URI取值有兩種方式:簡捷方式和普通方式。簡捷方式直接采用產生該歷史媒體的媒體源(如某個攝像頭)的設備ID(應符合6.1.2的規定)以及相關參數(如回放類型、下載…

Three.js——二維平面、二維圓、自定義二維圖形、立方體、球體、圓柱體、圓環、扭結、多面體、文字

個人簡介 👀個人主頁: 前端雜貨鋪 ?開源項目: rich-vue3 (基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL) 🙋?♂?學習方向: 主攻前端方向,正逐漸往全干發展 &#x1…

在Mac電腦下怎么部署QAnything?

在Mac電腦下部署QAnything,可以選擇使用純Python環境進行部署,這種方式不依賴GPU,適合在Mac等筆記本電腦上運行。以下是基于QAnything的純Python環境安裝教程的步驟[18]: 安裝要求 Python 3.10(建議使用Anaconda3來管…

RabbitMQ-默認讀、寫方式介紹

1、RabbitMQ簡介 rabbitmq是一個開源的消息中間件,主要有以下用途,分別是: 應用解耦:通過使用RabbitMQ,不同的應用程序之間可以通過消息進行通信,從而降低應用程序之間的直接依賴性,提高系統的…

功率電感的設計步驟

文章目錄 1:高導磁氣隙(鐵氧體)1.1設計原理1.2 設計步驟 2 鐵粉芯2.1:設計原理2.2:設計步驟 TI電感設計 學習視頻原鏈接 截圖 1 截圖1 截圖1 截圖 2 截圖2 截圖2 1:高導磁氣隙(鐵氧體&#…

基于機器學習判斷面部微表情發現哪些人更容易診有帕金森病

1. 概述 帕金森病(Parkinson’s disease,PD)是一種慢性、進展性的神經退行性疾病,主要影響運動系統。該病癥以大腦中黑質致密部多巴胺能神經元的逐漸喪失為特征,導致多巴胺(一種重要的神經遞質&#xff09…

【Qt】深入探索Qt窗口與對話框:從創建到管理:QDockWidget(浮動窗口)、QDialog(對話框)

文章目錄 前言:1. 浮動窗口2. 對話框介紹2.1. 示例:主窗口中,通過點擊按鈕,彈出一個新的對話框。2.2. 創建自定義對話框2.2.1. 純代碼的方式2.2.2. 圖形化界面的方式 3. 模態對話框 和 非模態對話框4. Qt 內置對話框4.1. 消息對話…

Nginx R31 doc-12-NGINX SSL Termination 安全加密

前言 大家好,我是老馬。很高興遇到你。 我們為 java 開發者實現了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何處理的,可以參考我的另一個項目: 手寫從零實現簡易版 tomcat minicat nginx 系列 從零手…

Git Submodules:深入理解與應用

在大型項目或跨多個獨立項目的開發中,代碼管理往往變得復雜。Git Submodules 是 Git 提供的一個強大功能,允許你在一個 Git 倉庫(稱為父倉庫)中嵌套另一個 Git 倉庫(稱為子模塊倉庫)。本文將詳細介紹 Git S…

Linux/Windows下如何同時運行服務端和客戶端

假設服務端和客戶端程序分別為server.c和client.c注意順序! 先運行服務端,后運行客戶端先結束客戶端,后結束客戶端 編譯 gcc -o server server.cgcc -o server client.c運行 # 先運行服務器 ./server# 再運行客戶端 ./client./表示當前目錄…

Hybrid Block Storage for Efficient Cloud Volume Service——論文泛讀

TOS 2023 Paper 論文閱讀筆記整理 問題 傳統桌面和服務器應用程序向云的遷移給底層云存儲帶來了高性能、高可靠性和低成本的挑戰。由于這些傳統應用程序的I/O模式和一致性要求,與采用特定編程模型和范式(如MapReduce[22]和RDD[52])的云原生…

香橙派AIpro(OrangePi AIPro)開發板初測評

開發板簡介 最近,我拿到手一款Orange Pi AI Pro 開發板,它是香橙派聯合華為精心打造的高性能AI 開發板,最早發布于2023年12月,其搭載了昇騰AI 處理器,可提供8TOPS INT8 的計算能力,內存提供了8GB 和16GB兩…

基于jeecgboot-vue3的Flowable新建流程定義(一)

因為這個項目license問題無法開源&#xff0c;更多技術支持與服務請加入我的知識星球。 1、vue3版本因為流程分類是動態的&#xff0c;不再固定了&#xff0c;所以新建的時候需要選擇建立哪種流程類型的流程 代碼如下&#xff1a; <!-- 選擇模型的流程類型對話框 -->&…