Git常用命令摘要

寫這篇博文的目的只是簡單的給自己及團隊的日常工作中需要用到的git命令作個匯總,這樣平時只需要查閱這篇文章就夠了,不用到處查找。如果能給有需要的朋友一點點的幫助,那也算是意外之喜吧。

一、基礎配置

# 設置用戶名和郵箱(首次使用必配)
git config --global user.name "Your Name"
git config --global user.email "your@email.com"

# 查看配置列表
git config --list

二、倉庫操作

# 初始化新倉庫
git init

# 克隆遠程倉庫
git clone <repo_url>

# 查看倉庫狀態
git status

三、代碼提交

# 添加文件到暫存區
git add <file> ?# 單個文件
git add . ? ? ? # 所有修改

# 提交到本地倉庫
git commit -m "commit message"

# 修改最后一次提交
git commit --amend

# 撤銷未提交的修改(保留文件)
git restore --staged <file> ?# 從暫存區撤出
git restore <file> ? ? ? ? ? # 丟棄工作區修改

# 撤銷最近一次提交(保留修改)
git reset --soft HEAD~1

# 撤銷遠程提交(強制推送覆蓋)
git push -f origin <branch>
?

四、分支管理

# 查看分支
git branch ? ? # 本地分支
git branch -a ?# 所有分支

# 創建/切換分支
git checkout -b <new_branch>

# 合并分支
git merge <branch_name>

# 刪除分支
git branch -d <branch_name>

# 對比兩個分支差異
git diff branch1..branch2

# 對比本地與遠程
git diff @{upstream}

# 圖形化對比工具
git difftool -t vscode ?# 使用VSCode對比
?

五、遠程協作

# 關聯遠程倉庫
git remote add origin <url>

# 推送到遠程
git push -u origin <branch>

# 拉取更新
git pull origin <branch>

# 查看遠程庫信息
git remote -v

六、版本控制

# 查看提交歷史
git log --oneline --graph

git reflog show # 查看操作歷史

# 回退版本
git reset --hard <commit_id>

# 暫存當前修改
git stash
git stash pop

七、實用技巧

# 查看文件修改差異
git diff

# 撤銷工作區修改
git checkout -- <file>

# 重命名文件
git mv <old> <new>

八、協作場景解決方案

# 同步上游倉庫更新
git remote add upstream <original-repo-url>
git fetch upstream
git merge upstream/main

# 解決沖突后繼續變基
git rebase --continue

# 提交PR前清理歷史
git rebase -i origin/main
?

?九、建立遠程倉庫

以Gitee平臺為例。

一)、前期準備?

  1. ?注冊平臺賬號?

    • Gitee
    • 完成郵箱驗證(必需步驟)
  2. ?配置本地Git身份

  3. ?生成SSH密鑰(免密推送必備)

?

??二)、創建遠程倉庫(以Gitee為例)?

  1. ?網頁端操作?

    • 點擊「+」→「新建倉庫」
    • 填寫倉庫名(如?project-demo
    • 選擇公開/私有 → 勾選「使用Readme初始化」→ 創建
  2. ?獲取倉庫地址?

    • HTTPS:https://gitee.com/yourname/project-demo.git
    • SSH:git@gitee.com:yourname/project-demo.git(推薦)

三)、關聯本地倉庫?

? 場景1:已有本地項目
# 進入項目目錄
cd existing-project# 初始化本地倉庫
git init# 關聯遠程倉庫
git remote add origin git@gitee.com:yourname/project-demo.git# 首次推送(-u 設置上游分支)
git push -u origin master     # 或 main 分支
? 場景2:全新項目
# 克隆遠程倉庫到本地
git clone git@gitee.com:yourname/project-demo.git# 進入目錄添加文件
cd project-demo
touch new-file.txt# 提交并推送
git add .
git commit -m "Add new file"
git push origin master

?十、.gitignore文件配置

?

?一)、.gitignore核心語法手冊

1. 基礎匹配規則
  • #:注釋行(例:# 忽略臨時文件

  • /前綴:僅匹配根目錄(例:/debug.log不匹配src/debug.log

  • *通配符:跨文件名匹配(例:*.tmp匹配所有.tmp后綴文件)

2. 高級路徑控制
  • **/:遞歸匹配任意子目錄(例:**/cache/忽略所有cache目錄)

  • !取反:強制跟蹤例外文件(例:!important.log突破*.log限制)

3. 字符集匹配
  • [abc]:匹配指定字符(例:test[123].txt匹配test1.txt但排除test4.txt)

  • ?:匹配單個字符(例:file?.js匹配fileA.js不匹配file10.js)

4. 刪除已跟蹤文件

git rm --cached <file>

# 從Git歷史徹底刪除誤提交文件
git filter-branch --force --index-filter \"git rm --cached --ignore-unmatch sensitive.txt" \--prune-empty --tag-name-filter cat -- --all
5.強制添加被忽略文件

git add -f secret.cfg

?合理配置.gitignore可降低90%的倉庫冗余,結合git sparse-checkout還能實現部分克隆。建議定期審計忽略規則,將其納入項目腳手架標準化管理。

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

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

相關文章

ubuntu 22.04 安裝部署kibana 7.10.0詳細教程

安裝部署kibana 7.10.0詳細教程 下載并安裝二、修改kibana.yml文件三、性能配置四、啟動服務驗證五、安裝啟動常見問題 【背景】 整個elk安裝是基于ubuntu 22.04和jdk 11環境。kibana均采用 *.deb方式安裝&#xff0c;需要服務器能聯網。ubuntu 22.04 安裝部署elk(elasticsearc…

nfs 服務器的搭建

nfs 服務器的搭建 1.配置yum源 mkdir /etc/yum.repos.d/bak mv /etc/yum.repo.d/*.repo /etc/yum.repos.d/bak/ curl -o /etc/yum.repos.d/centos.repo http://10.26.210.101/centos/centos.repo # 外網 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.c…

Yii2 基礎版實現 Token 認證 API 服務的完整框架方案

以下是一個基于 Yii2 基礎版實現 Token 認證 API 服務的完整框架方案&#xff0c;包含 JWT 實現和完整代碼&#xff1a; 1. 環境準備 composer create-project --prefer-dist yiisoft/yii2-app-basic yii2-api cd yii2-api2. 安裝必要擴展 composer require firebase/php-jw…

主流版本控制工具Git vs Perforce P4:架構模式、性能、大文件管理及分支管理對比詳解

Git和Perforce P4是兩個強大的源代碼管理工具&#xff0c;各有其獨特的功能優勢與適用場景。 本文中&#xff0c;Perforce中國授權合作伙伴-龍智將從架構設計、性能表現、文件管理及分支策略等維度&#xff0c;為您詳細解析兩者的關鍵差異&#xff0c;幫助您根據團隊需求&…

文件系統2(Linux下)

1 掛載分區 文件系統1中已經知道了能夠根據inode號在指定分區找文件了&#xff0c;也已經能根據目錄文件內容&#xff0c;找指定的inode了&#xff0c;在指定的分區內&#xff0c;就可以對文件進行操作了。但是還有幾個問題&#xff0c;那就是inode是不能跨分區的&#xff0c;…

Leetcode-?2537. 統計好子數組的數目?

Problem: 2537. 統計好子數組的數目 思路 滑動窗口 解題過程 思路&#xff1a; 使用滑動窗口來維護子數組&#xff0c;并通過組合計數動態調整滿足條件的數對數目。具體來說&#xff0c;我們維護一個窗口[l,r]&#xff0c;使得窗口內相同元素的對數至少為 k&#xff0c;并計算…

js手寫代碼篇--手寫Object.assign

19、Object.assign 作用&#xff1a; Object.assign的作用是將源對象的所有可枚舉屬性復制到目標對象中。它返回目標對象。 const obj1 { a: 1, b: 2 };const obj2 { b: 3, c: 4 };const obj3 { d: 5 };const target {};Object.assign(target, obj1, obj2, obj3);console…

使用 C/C++ 和 OpenCV 構建智能停車場視覺管理系統

使用 C 和 OpenCV 構建智能停車場視覺管理系統 本文將詳細介紹如何利用 C 和 OpenCV 庫&#xff0c;從零開始創建一個智能停車場管理系統。該系統通過攝像頭捕捉的畫面&#xff0c;能自動完成兩項核心任務&#xff1a; 車位識別&#xff1a;通過檢測地面上的黃色停車線&#…

服務器靜態ip,網關不能占用*.*.*.1

網關不能占用*.*.*.1.1 通常用于運行關鍵服務&#xff08;如DHCP、NAT、DNS代理&#xff09;&#xff0c;.1 是網絡世界的"VIP包廂"&#xff0c;普通用戶強闖只會被"請出"。

自然語言處理【NLP】—— CBOW模型

文章目錄 引言一、CBOW模型概述1.1 什么是CBOW模型1.2 CBOW vs Skip-gram 二、CBOW模型原理詳解2.1 模型架構2.2 數學原理2.3 訓練過程 三、CBOW的PyTorch實現四、CBOW模型的應用與優化4.1 典型應用場景4.2 性能優化技巧 五、CBOW的局限性六、結語 引言 在自然語言處理(NLP)領…

為MTK 9300開發板移植Linux系統(以Debian為例)的詳細技術指南

以下是為MTK 9300開發板移植Linux系統(以Debian為例)的詳細技術指南,涵蓋環境搭建、內核移植、驅動適配(攝像頭/顯示器/WiFi)、系統集成與優化。 MTK 9300開發板Linux系統移植全流程指南 1 項目概述 1.1 硬件平臺 SoC:MediaTek MTK9300 (ARMv8-A架構,4Cortex-A78 + 4C…

Java Lambda 表達式與 Stream API 全解析:從基礎到進階

以下是對您博客內容的優化版本&#xff0c;在保留原有核心內容的基礎上&#xff0c;補充了Lambda表達式及Stream API的完整方法體系&#xff0c;并通過結構化排版和擴展說明提升可讀性。 Java Lambda表達式與Stream API全解析&#xff1a;從基礎到進階 一、Lambda表達式與Str…

Let’s Encrypt(樂此加密) 免費SSL證書申請

一、前言 騰訊云、阿里云等平臺都支持免費的SSL證書申請&#xff0c;但只支持單域名SSL證書申請&#xff0c;不支持泛域名證書申請&#xff0c;而且每年只有20張免費證書額度&#xff0c;自2024年4月25日之起免費申請的證書只有3個月有效期。域名比較多的情況下&#xff0c;更新…

SQLite3 性能優化

在嵌入式開發和輕量級應用場景中&#xff0c;SQLite3 作為輕量級數據庫引擎&#xff0c;憑借其無需獨立服務器、部署便捷等特點被廣泛應用。然而&#xff0c;當面對大量數據的高速讀寫需求時&#xff0c;默認配置下的 SQLite3 性能往往難以滿足要求。本文將從數據庫配置調整、W…

零基礎設計模式——行為型模式 - 狀態模式

第四部分&#xff1a;行為型模式 - 狀態模式 (State Pattern) 我們繼續學習行為型模式&#xff0c;接下來是狀態模式。這個模式允許一個對象在其內部狀態改變時改變它的行為&#xff0c;對象看起來就像是改變了它的類。 核心思想&#xff1a;允許一個對象在其內部狀態改變時改…

面向對象面試題集合

前言 記錄面向對象面試題相關內容&#xff0c;方便復習及查漏補缺 題1.簡述面向對象&#xff1f;主要特征是什么&#xff1f; 面向對象編程&#xff08;Object-Oriented Programming&#xff0c;簡稱OOP&#xff09;是一種以“對象”為核心的編程范式&#xff0c;通過將現實…

二十一、【用戶管理與權限 - 篇三】角色管理:前端角色列表與 CRUD 實現

【用戶管理與權限 - 篇三】角色管理:前端角色列表與 CRUD 實現 前言準備工作第一部分:更新 API 服務以包含角色管理第二部分:添加角色管理頁面的路由和側邊欄入口第三部分:實現角色列表頁面第四部分:實現角色表單對話框組件第五部分:全面測試總結前言 一個完善的權限系統…

Objective-c protocol 練習

題目描述&#xff1a; 請使用 Objective-C 中的 protocol 協議機制&#xff0c;實現一個簡易的門禁控制系統。 系統包含兩個類&#xff1a; AccessControlSystem —— 門禁系統&#xff0c;用于執行開門操作&#xff1b;Admin —— 實現權限判斷邏輯的管理員。 要求如下&am…

科技創新賦能產業創新,雙輪驅動助力新疆高質量發展!

在新疆維吾爾自治區成立70周年之際&#xff0c;中國產學研合作促進會于6月14日在烏魯木齊舉辦“天山對話&#xff1a;推動新疆科技創新與產業創新”盛會。多位院士、專家、學者及企業代表齊聚一堂&#xff0c;探尋推動新疆科技創新和產業創新的新路徑、新動能。活動現場&#x…

C#最佳實踐:推薦使用 nameof 而非硬編碼名稱

C#最佳實踐:推薦使用 nameof 而非硬編碼名稱 在 C# 編程領域,代碼的可維護性、健壯性和可讀性是衡量程序質量的重要指標。在日常開發中,我們常常會遇到需要引用類型、成員或變量名稱的場景,比如在拋出異常時指定錯誤相關的變量名、在日志記錄中標記關鍵元素名稱等。傳統的…