常見的 Git 命令

  1. 基礎配置和信息查詢 (Setup and Information)

git config --global user.name “Your Name”: 配置全局用戶名,用于 Git 提交記錄。

git config --global user.email “your.email@example.com”: 配置全局用戶郵箱,同樣用于 Git 提交記錄。

git config --list: 列出當前的 Git 配置信息(包括全局、倉庫級別等)。

git init: 在當前目錄下初始化一個新的 Git 倉庫 (repository)。

git status: 查看工作目錄 (working directory) 和暫存區 (staging area) 的狀態。顯示哪些文件被修改了、哪些文件被暫存了、哪些文件未被 Git 跟蹤等。

git help : 獲取 Git 命令的幫助文檔,例如 git help commit。

git version: 查看 Git 版本。

  1. 管理工作目錄和暫存區 (Working with Changes)

git add : 將指定的文件添加到暫存區。

git add .: 將當前目錄及其子目錄下的所有修改和新增的文件添加到暫存區。

git add -u: 只將工作目錄中 已跟蹤 (tracked) 的文件的修改添加到暫存區(不包括新增的文件)。

git rm : 從工作目錄和暫存區中刪除指定的文件。

git rm --cached : 只從暫存區中刪除文件,保留工作目錄中的文件 (常用于停止跟蹤某個文件,但不刪除本地文件)。

git mv <old_file> <new_file>: 重命名或移動文件,并將其添加到暫存區。

git diff: 查看工作目錄中 未暫存 (unstaged) 的修改內容。

git diff --staged: 查看暫存區中 已暫存 (staged) 的修改內容。

git diff : 比較兩個分支之間的差異。

git restore : 撤銷對工作目錄中指定文件的修改,使其恢復到最近一次提交 (commit) 的狀態 (未暫存的修改)。

git restore --staged : 將指定文件從暫存區移除,但保留工作目錄中的修改 (取消暫存)。

git clean -fd: 刪除工作目錄中 未被跟蹤 (untracked) 的文件和目錄 (謹慎使用,會永久刪除未跟蹤的文件)。

  1. 提交歷史 (Commit History)

git commit -m “Your commit message”: 提交暫存區中的更改到本地倉庫,并添加提交信息 (commit message)。

git commit -am “Your commit message”: 相當于 git add -u 和 git commit -m 的組合,自動暫存已跟蹤文件的修改并提交。

git commit --amend: 修改最近一次的提交 (commit)。可以修改提交信息,或者將暫存區的新更改添加到上一次提交中。

git log: 查看提交歷史記錄。

git log --oneline: 以簡潔的單行格式顯示提交歷史。

git log --graph --oneline --decorate --all: 以圖形化方式顯示分支、合并關系和提交歷史 (更直觀)。

git log -p: 顯示每次提交的詳細 diff 信息。

git log --author=“Author Name”: 只顯示指定作者的提交記錄。

git log --grep=“keyword”: 只顯示提交信息中包含指定關鍵詞的提交記錄。

git show : 查看指定提交的詳細信息,包括提交信息、作者、日期和 diff 內容。

git reflog: 查看引用日志 (reference log),記錄了 HEAD 和分支引用的變化,即使提交沒有被任何分支或標簽引用,也可以通過 reflog 找到 (用于找回丟失的提交)。

  1. 分支管理 (Branch Management)

git branch: 列出本地分支。

git branch -r: 列出遠程分支。

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

git branch <new_branch_name>: 創建新的本地分支 (但不會切換到新分支)。

git checkout -b <new_branch_name> <base_branch>: 創建新的本地分支并切換到新分支,基于 <base_branch> 創建。

git checkout <branch_name>: 切換到已存在的本地分支。

git checkout -: 切換到上一個分支 (例如,從 branchA 切換到 branchB 后,再執行 git checkout - 會切換回 branchA)。

git branch -d <branch_name>: 刪除本地分支 (如果分支已合并到其他分支)。

git branch -D <branch_name>: 強制刪除本地分支 (即使分支未合并)。

git push origin --delete <branch_name>: 刪除遠程分支。

git merge <branch_name>: 將指定分支 <branch_name> 合并到當前分支。

git rebase <branch_name>: 將當前分支變基 (rebase) 到 <branch_name> 分支之上 (用于保持提交歷史的線性整潔,但有風險,謹慎使用)。

  1. 遠程倉庫 (Remote Repositories)

git remote add origin <remote_repository_url>: 添加遠程倉庫地址,通常命名為 origin。

git remote -v: 查看已配置的遠程倉庫地址。

git fetch origin: 從遠程倉庫 origin 獲取最新的分支和提交信息,但不會自動合并到本地分支。

git pull origin <branch_name>: 從遠程倉庫 origin 拉取指定分支 <branch_name> 的最新更改,并合并到當前本地分支 (相當于 git fetch origin <branch_name> + git merge origin/<branch_name>)。

git push origin <branch_name>: 將本地分支 <branch_name> 的提交推送到遠程倉庫 origin 的同名分支。

git push origin --all: 推送所有本地分支到遠程倉庫。

git clone <repository_url>: 克隆 (clone) 遠程倉庫到本地。

  1. 標簽 (Tags)

git tag: 列出本地標簽。

git tag -l ‘v1.*’: 列出匹配模式的標簽,例如列出所有以 v1. 開頭的標簽。

git tag <tag_name>: 基于當前 HEAD 提交創建一個輕量級標簽。

git tag -a <tag_name> -m “Tag message”: 創建一個附注標簽 (annotated tag),可以添加標簽信息。

git tag <tag_name> : 為指定的提交 創建標簽 (可以為歷史提交打標簽)。

git push origin <tag_name>: 推送指定的標簽到遠程倉庫。

git push origin --tags: 推送所有本地標簽到遠程倉庫。

git checkout <tag_name>: 切換到標簽 <tag_name> 所指向的提交 (會進入 “detached HEAD” 狀態)。

git tag -d <tag_name>: 刪除本地標簽。

git push origin --delete tag <tag_name>: 刪除遠程標簽。

  1. 儲藏 (Stashing) - 暫存未完成的更改

git stash: 儲藏當前工作目錄和暫存區的更改,回到干凈的工作狀態 (用于切換分支前保存當前工作進度,稍后恢復)。

git stash save “Your stash message”: 儲藏更改并添加描述信息。

git stash list: 列出所有儲藏的記錄。

git stash apply: 應用最近一次儲藏的更改,但儲藏記錄仍然保留在列表中。

git stash pop: 應用最近一次儲藏的更改,并從儲藏列表中刪除該記錄。

git stash apply stash@{n}: 應用指定的儲藏記錄 (例如 stash@{0} 是最近一次儲藏)。

git stash drop stash@{n}: 刪除指定的儲藏記錄。

git stash clear: 清空所有儲藏記錄。

  1. 子模塊 (Submodules) - 管理項目中的外部倉庫 (較為進階)

git submodule add <repository_url> : 添加一個子模塊,將外部倉庫添加到項目中的指定路徑。

git submodule init: 初始化子模塊 (在克隆包含子模塊的項目后需要執行)。

git submodule update: 更新子模塊,檢出子模塊倉庫中子模塊配置文件指定的提交版本。

git submodule update --init --recursive: 遞歸初始化和更新子模塊 (如果子模塊還有子模塊)。

  1. 其他常用命令

.gitignore 文件: 在項目根目錄下創建 .gitignore 文件,用于指定 Git 忽略跟蹤的文件和目錄 (例如,編譯產生的臨時文件、日志文件、node_modules 目錄等)。

git blame : 查看文件的每一行代碼是由誰在哪個提交中修改的 (用于代碼追溯和責任歸屬)。

git bisect: 使用二分查找法快速定位引入 bug 的提交 (用于 bug 調試)。

git cherry-pick : 將指定提交 的更改應用到當前分支 (用于移植特定提交)。

git revert : 創建一個新的提交,撤銷指定提交 的更改 (用于撤銷某個提交的影響,但保留提交歷史)。

學習建議:

循序漸進: 先從最常用的命令開始學習,例如 git init, git clone, git add, git commit, git status, git log, git branch, git checkout, git merge, git pull, git push。

實踐操作: 多練習,在實際項目中使用 Git 命令,加深理解。

查閱文檔: 遇到不熟悉的命令或用法,及時查閱 Git 官方文檔或使用 git help 。

使用可視化工具: 配合 Git 可視化工具 (如 Git Graph, GitLens, SourceTree) 可以更直觀地理解 Git 的工作原理和分支關系。

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

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

相關文章

深度解析:視頻軟編碼與硬編碼的優劣對比

視頻編碼 一、基本原理與核心技術 壓縮原理 通過時空冗余消除實現數據壓縮&#xff1a; 空間冗余&#xff1a;利用幀內預測&#xff08;如DC/角度預測&#xff09;消除單幀內相鄰像素相似性。時間冗余&#xff1a;運動估計與補償技術&#xff08;ME/MC&#xff09;減少連續幀間…

藍耘智算 + 通義萬相 2.1:為 AIGC 裝上 “智能翅膀”,翱翔創作新天空

1. 引言&#xff1a;AIGC 的崛起與挑戰 在過去幾年中&#xff0c;人工智能生成內容&#xff08;AIGC&#xff09;技術突飛猛進。AIGC 涉及了文本生成、圖像創作、音樂創作、視頻制作等多個領域&#xff0c;并逐漸滲透到日常生活的方方面面。傳統的內容創作方式已經被許多人類創…

行為模式---中介者模式

概念 中介者模式是一種行為模式&#xff0c; 他的核心思想是通過引入一個中介者對象&#xff0c;將多個對象之間的復雜交互邏輯統一管理。每個對象只需要與中介者通信&#xff0c;而不需要直接與其他對象交互&#xff0c;從而降低系統的耦合度。 適用場景 對象之間交互復雜&…

百度移動生態事業群聚焦UGC戰略,貼吧迎新調整

易采游戲網3月8日獨家消息&#xff1a;近日據內部消息人士透露&#xff0c;百度移動生態事業群正積極將用戶生成內容&#xff08;UGC&#xff09;作為新的戰略重點。此舉標志著百度對UGC價值的重視與重塑&#xff0c;同時也預示著其旗下重要平臺——百度貼吧將迎來一輪重大的調…

C#模擬鼠標點擊,模擬鼠標雙擊,模擬鼠標恒定速度移動,可以看到軌跡

C#模擬鼠標點擊&#xff0c;模擬鼠標雙擊&#xff0c;模擬鼠標恒定速度移動&#xff0c;可以看到軌跡 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks;namespa…

QGIS提取全國景區經緯度的完整流程

一、數據獲取與預處理 數據來源選擇 全國A級景區數據可從各省文化和旅游廳官網、國家文化和旅游部網站或第三方GIS數據平臺獲取。推薦使用2020-2021年更新的矢量數據&#xff08;shp格式&#xff09;或Excel表格&#xff0c;其中包含景區名稱、地址、等級及WGS84經緯度信息。例…

如何進行postgreSQL專家認證

進行 PostgreSQL 專家認證主要有信創 PostgreSQL 認證和中國 PostgreSQL 考試認證等方式&#xff0c;以下以信創 PostgreSQL 認證為例介紹具體步驟&#xff1a; 了解認證體系 信創 PostgreSQL 認證由工信部人才交流中心組織及頒發證書&#xff0c;包括以下三個級別&#xff1a;…

【前端】【webpack-dev-server】proxy跨域代理

參考&#xff1a;https://www.bilibili.com/video/BV1c5SnYZEnZ?spm_id_from333.788.videopod.episodes&vd_source65c8707649747fd67b232866b69a5ebd&p138

批量在 Word 的指定位置插入頁,如插入封面、末尾插入頁面

我們經常會碰到需要在 Word 文檔中插入新的頁面的需求&#xff0c;比如在 Word 文檔末尾插入一個廣告頁、給 Word 文檔插入一個說明封面&#xff0c;在 Word 文檔的中間位置插入新的頁面等等。相信這個操作對于大部分小伙伴來說都不難&#xff0c;難的是同時給多個 Word 文檔插…

在Windows 11的WSL中安裝Kali Linux

Kali Linux 是網絡安全從業者和愛好者的首選工具集&#xff0c;但直接在物理機或虛擬機上運行可能占用較多資源。借助 Windows Subsystem for Linux (WSL)&#xff0c;我們可以在Windows 11中原生運行Kali Linux&#xff0c;輕量且高效。本教程將手把手教你如何在WSL2中安裝并配…

Flow Size Prediction with Short Time Gaps

Flow Size Prediction with Short Time Gaps 網絡流量預測新突破&#xff1a;微秒級短流預測的可行性分析 在當今數據中心和云計算環境中&#xff0c;網絡流量的精準預測是優化資源分配、實現智能負載均衡的關鍵。傳統流量和預測聚焦于長時間間隔&#xff08;如秒級或分鐘級&…

pandas——to_datatime用法

Pandas中pd.to_datetime的用法及示例 pd.to_datetime 是 Pandas 庫中用于將字符串、整數或列表轉換為日期時間&#xff08;datetime&#xff09;對象的核心函數。它在處理時間序列數據時至關重要&#xff0c;能夠靈活解析多種日期格式并統一為標準時間類型。以下是其核心用法及…

數學建模:MATLAB強化學習

一、強化學習簡述 強化學習是一種通過與環境交互&#xff0c;學習狀態到行為的映射關系&#xff0c;以獲得最大積累期望回報的方法。包含環境&#xff0c;動作和獎勵三部分&#xff0c;本質是智能體通過與環境的交互&#xff0c;使得其作出的動作所得到的決策得到的總的獎勵達…

【leetcode hot 100 160】相交鏈表

解法一&#xff1a;&#xff08;哈希集合&#xff09;利用HashSet保存一個鏈表的值&#xff0c;循環另一個列表&#xff0c;在HashSet中尋找該值。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x…

19. 大數據-技術生態簡介

文章目錄 前言一、Hadoop介紹1. 簡介2. Hadoop發展史3. Hadoop現狀 二、Hadoop特性1. Hadoop國外應用2. Hadoop國內應用 三、Hadoop架構變遷1. 發行版本2. Hadoop架構變遷(1.0-2.0變遷)3. Hadoop架構變遷(3.0新版本)4. 綜述 四、技術生態體系 前言 大數據&#xff08;Big Data…

DeepSeek 助力 Vue3 開發:打造絲滑的表格(Table)示例3: 行選擇

前言&#xff1a;哈嘍&#xff0c;大家好&#xff0c;今天給大家分享一篇文章&#xff01;并提供具體代碼幫助大家深入理解&#xff0c;徹底掌握&#xff01;創作不易&#xff0c;如果能幫助到大家或者給大家一些靈感和啟發&#xff0c;歡迎收藏關注哦 &#x1f495; 目錄 Deep…

VsCode 快捷鍵備忘

移動光標及選擇文本 Ctrl ← / → &#xff1a;以單詞為單位移動游標Home / End&#xff1a;光標移到行首/行位Ctrl Home / End&#xff1a;光標移到文件首和文件尾Ctrl Shift \&#xff1a;在匹配的分隔符之間跳轉 配對的分隔符 是指分隔代碼元素的字符&#xff0c;比如字…

用數據喚醒深度好眠,時序數據庫 TDengine 助力安提思腦科學研究

在智能醫療與腦科學快速發展的今天&#xff0c;高效的數據處理能力已成為突破創新的關鍵。安提思專注于睡眠監測與神經調控&#xff0c;基于人工智能和邊緣計算&#xff0c;實現從生理體征監測、智能干預到效果評估的閉環。面對海量生理數據的存儲與實時計算需求&#xff0c;安…

SQL_語法

1 數據庫 1.1 新增 create database [if not exists] 數據庫名; 1.2 刪除 drop database [if exists] 數據庫名; 1.3 查詢 (1) 查看所有數據庫 show databases; (2) 查看當前數據庫下的所有表 show tables; 2 數據表 2.1 新增 (1) 創建表 create table [if not exists…

Qt 開發 OpenGL 程序流程

在用 Qt 開發 OpenGL 程序時&#xff0c;整體的工作流程分為幾個關鍵步驟&#xff0c;最終目的是將數據傳遞給 GPU 并開始渲染。這一過程涉及到從代碼編寫到與著色器連接的多個操作&#xff0c;下面我將詳細講解每個步驟。 1. 設置 Qt 項目 這個步驟是準備工作&#xff0c;你首…