一.Gitee基本操作

一.初始化

1.git init初始化倉庫

git init 用于在當前目錄下初始化一個本地 Git 倉庫,讓這個目錄開始被 Git 跟蹤和管理。

生成 .git 元數據目錄,從而可以開始進行提交、回退、分支管理等操作。

2.git config user.name/user.email配置本地倉庫

# 設置用戶名
git config user.name "你的名字"# 設置郵箱(與 GitHub 等平臺賬戶一致)
git config user.email "你的郵箱@example.com"# 查看當前配置
git config -l#刪除配置
git config --unset user.name
git config --unset user.email

上面配置的是局部的本地倉庫 加上--global可以設置為全局的。

# 設置全局用戶名
git config --globa user.name "你的名字"# 設置全局郵箱(與 GitHub 等平臺賬戶一致)
git config --globa user.email "你的郵箱@example.com"# 查看當前配置
git config -l#刪除配置
git config --globa --unset user.name
git config --globa --unset user.email

什么是局部?什么是全局?為什么?

Git 是為多個項目、多用戶設計的系統,所以需要支持“不同作用范圍的配置”:

作用域說明示例
--system整個操作系統層面(對所有用戶生效)不常用,配置在 /etc/gitconfig
--global當前登錄用戶的所有項目常用,配置在 ~/.gitconfig
(默認)當前 Git 項目的配置(最精確)配置在 .git/config 文件中
你想干什么推薦方式
所有項目都用同一個名字和郵箱--global 設置一次即可
某個項目用不同的名字和郵箱在項目目錄下直接 git config

二.添加

1.git add把修改加入暫存區

2.git commit提交到版本庫????????

區域位置名功能說明
工作區工作目錄(Working Directory)你正在編輯的真實文件所在位置
暫存區stageindex保存你“準備提交”的文件快照
版本庫.git/objects.git/HEAD保存所有歷史版本(已提交內容)
git add把代碼放入暫存區? git commit把暫存區代碼存入版本庫

gti log查看歷史提交記錄

三.查看

1.git status查看當前倉庫的狀態

git status 是 Git 中最常用的命令之一,用于查看當前倉庫的狀態,特別是在你開發過程中了解哪些文件發生了變化、是否已被 add、是否有未提交的內容等

狀態類別含義說明
Untracked files工作區中有新建但未被 Git 跟蹤的文件(沒被 add
Changes not staged for commit已被修改但未 add 進暫存區
Changes to be committedadd,等待 commit
nothing to commit所有文件都已提交,倉庫干凈

git status -s ? ??簡潔模式(short),常用于配合腳本或快速查看

狀態符號文件路徑含義
ATCP/client.cc?? 新文件,已 add 進暫存區,等待提交
MUDP/client.cc?? 文件被修改,但尚未 add,還在工作區
??TCP/server.cc🆕 新文件,未被 Git 跟蹤,沒被 add
?其它狀態縮寫
符號含義說明
??Untracked(未跟蹤文件)
AAdded(已添加到暫存區的新文件)
MModified(已修改)
DDeleted(刪除)
RRenamed(重命名)
CCopied(復制)
AM新文件添加后又被修改
MMadd 的文件再次修改,暫存區和工作區都修改了
UDunmerged conflict:你刪除了文件,但它在合并中被修改
UU合并沖突(兩邊都修改)

2.git diff?查看代碼變更內容

git diff 是 Git 中用于查看代碼變更內容的命令,幫你對比不同版本、文件或狀態的具體修改細節(逐行對比)。

git diff?工作區 和 暫存區 差異(沒add的內容)

表示:工作區 和 暫存區 的差異(即你修改了但還沒 add?到暫存區的內容)

后面還也加指定文件夾/文件 沒有差異不會輸出

git diff --cached?暫存區 和 最新提交 的差異(沒push的內容)

表示:已經 git add 過的內容,和當前最新一次提交之間的差異(也就是你準備push提交的內容

當然后面也可以指明文件/文件夾

git status git diff配合使用 找到變化文件+查看具體變化
命令用途
git status看“哪些文件”發生了變化
git diff看“具體改動內容是啥”
# 1. 先查看有哪些變更的文件
git status# 2. 查看未 add 的文件改了什么
git diff# 3. 如果 add 了,再看 add 的內容(準備 commit 的)
git diff --cached# 4. 最后確認無誤,提交
git commit -m "說明"

git status -s 發現TCP/client.cc文件add到了暫存區 還進行了修改,想看看具體改了什么就用

git diff TCP/client.cc找具體的改動

四.git reset版本回退

git reset 回退版本(會更改提交歷史) 用于本地撤回提交、修改。

git reset 有三個選項

--soft

回退版本庫?

--mixed (默認)

回退版本庫+暫存區

--hard

回退版本庫+暫存區+工作區

想做什么事情用哪個選項解釋
? 只想回退提交記錄,但保留已經寫好的代碼和 add 狀態(準備重新commti提交)git reset --soft改了 commit,但代碼和暫存區內容保留
? 回退提交記錄,并把代碼從暫存區拿出來,保留在工作區(想重新 addgit reset --mixed(默認)改了 commit,撤銷了 git add,但代碼還在
?? 提交錯了、代碼也不想要了,想恢復成某個版本的干凈狀態git reset --hard徹底抹除提交 + 暫存區 + 工作區,慎用!
慎用 --hard 版本庫 暫存區 工作區的內容全會修改 不可恢復????????????????????????????????????????????????
怎么選?
你想做什么使用命令解釋說明
💡 只想換個提交說明,不改代碼git reset --soft HEAD^回退提交,保留暫存區(add)和代碼,重新寫 commit 信息
?? 不想提交當前內容,改完代碼再提交git reset HEAD^(默認是 --mixed回退提交 + 撤銷 add,代碼保留在工作區,可修改再 add
? 完全不想要這次提交,也不想要這次改的代碼了git reset --hard HEAD^回退提交 + 暫存區 + 工作區全部還原,代碼會丟失(??危險)

git log --oneline+git reset 進行版本回退

git log --oneline (簡略版)先獲取提交記錄 里面的提交ID(黃色部分)

git reset +要回退到的版本的提交ID?(默認選項--mixed 版本庫+暫存庫都會回退)

后悔了怎么辦?

只要有對應的版本ID 就可以返回

如果沒有保存版本ID怎么辦?

git relog 查看每個版本庫的ID

git reflog 用來查看你所有 HEAD 指針的變動歷史記錄,里面會有每個版本的ID

五.撤銷修改

撤銷修改 我們分為三種情況 1.只在工作區 2.add到了暫存區 3.commit到了版本庫

狀態描述推薦命令簡明說明
改錯代碼,未 addgit checkout -- <文件>恢復工作區代碼為上次提交版本,最安全
改錯代碼,已 add

git reset <文件> && git checkout -- <文件>

先撤銷暫存,再還原代碼
已commit,但未 push

git reset --hard HEAD^(多個文件)或者

git reset <文件> && git checkout -- <文件> (單個文件)

回退最近一次提交,代碼和提交記錄都丟棄,危險操作

git checkout -- <file>?撤銷該文件改動 恢復為上次 commit 的版本

git checkout -- <文件>

把工作區file文件的代碼進行撤銷修改。

git reset <文件> && git checkout -- <文件>?

git reset <文件> 只針對file文件 版本庫 暫存區進行撤銷

想撤銷全部文件的話 git reset HEAD?

HEAD指向當前版本 HEAD^指向上個版本 HEAD^^上兩個版本 ...

帶上 --hard就是連帶工作區的代碼也進行修改 但不能但只對一個文件進行操作,會把所有文件進行修改。

git reset --hard HEAD^

git reset --hard HEAD^ 版本庫 贊成區 工作區都回退到上個版本

因為已經commit提交到版本庫了,log已經記錄當前版本ID HEAD指向當前版本,撤銷就是要回到上一個版本 所以是HEAD^。

六.git rm刪除文件

將文件 從 Git 的版本庫和暫存區中刪除,并默認在工作區(磁盤)也刪除該文件。

1.git rm <file> 刪除指定文件

此時文件從 暫存區 和 工作區 都會被刪除;

2.git commit -m "刪除文件"

寫入版本庫 文件在版本庫中也被刪除

不想刪除工作區的文件,怎么辦?

git rm --cached <file>?工作區中文件不刪除

1.git rm --cached <file>

僅在暫存區中刪除 工作區中不刪除

2.git commit -m "刪除文件"

刪除版本庫中的

刪除目錄加 -r 選項

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

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

相關文章

力扣210(拓撲排序)

210. 課程表 II - 力扣&#xff08;LeetCode&#xff09; 這是一道拓撲排序的模板題。簡單來說&#xff0c;給出一個有向圖&#xff0c;把這個有向圖轉成線性的排序就叫拓撲排序。如果有向圖中有環就沒有辦法進行拓撲排序了。因此&#xff0c;拓撲排序也是圖論中判斷有向無環圖…

華為ensp實現跨vlan通信

要在網絡拓撲中實現主機192.168.1.1、192.168.1.2和192.168.2.1之間的互相通信&#xff0c;需要正確配置交換機&#xff08;S5700&#xff09;和路由器&#xff08;AR3260&#xff09;&#xff0c;以確保不同網段之間的通信&#xff08;即VLAN間路由&#xff09;。 網絡拓撲分析…

熱部署與雙親委派

熱部署初探與雙親委派機制 一、熱部署初探 ? 熱部署就是在不重啟服務的情況下&#xff0c;無需重新啟動整個應用&#xff0c;就能對代碼、配置等進行更新并使新的更改在服務中生效。以下代碼可以打破雙親委派機制&#xff0c;利用類加載器的隔離實現熱部署。可分為以下三步進…

AWS SNS:解鎖高并發消息通知與系統集成的云端利器

導語 在分布式系統架構中&#xff0c;如何實現高效、可靠的消息通知與跨服務通信&#xff1f;AWS Simple Notification Service&#xff08;SNS&#xff09;作為全托管的發布/訂閱&#xff08;Pub/Sub&#xff09;服務&#xff0c;正在成為企業構建彈性系統的核心組件。本文深度…

驅動開發硬核特訓 · Day 30(下篇): 深入解析 lm48100q I2C 音頻編解碼器驅動模型(基于 i.MX8MP)

作者&#xff1a;嵌入式Jerry 視頻教程請關注 B 站&#xff1a;“嵌入式Jerry” 一、背景與目標 在本篇中&#xff0c;我們圍繞 TI 的 lm48100q 音頻編解碼器 展開&#xff0c;深入講解其作為 I2C 外設如何集成至 Linux 內核音頻子系統&#xff08;ASoC&#xff09;&#xff0…

idea寫spark程序

步驟 1&#xff1a;創建 Maven 項目 打開 IntelliJ IDEA&#xff0c;選擇 File > New > Project。選擇 Maven&#xff0c;勾選 Create from archetype&#xff0c;選擇 org.apache.maven.archetypes:maven-archetype-quickstart。填寫 GroupId&#xff08;如 com.exampl…

【C語言練習】032. 編寫帶參數的函數

032. 編寫帶參數的函數 032. 編寫帶參數的函數1. 定義帶參數的函數示例1:定義一個帶參數的函數輸出結果2. 傳遞多個參數示例2:定義一個帶多個參數的函數輸出結果3. 傳遞數組作為參數示例3:定義一個帶數組參數的函數輸出結果4. 傳遞結構體作為參數示例4:定義一個帶結構體參數…

Java虛擬機的基本結構

jvm它包含以下部分 第一個&#xff1a;類加載系統 類加載子系統&#xff0c;負責類的加載。類加載器有三種類型&#xff1a;引導類加載器、擴展類加載器、應用程序類加載器。 第二個&#xff1a;運行時數據區 包含了程序計數器、Java虛擬機棧、本地方法棧、堆 、方法區。 程…

uniapp引入七魚客服微信小程序SDK

小程序引入七魚sdk 1.微信公眾平臺引入2.代碼引入3.在pagesQiyu.vue初始化企業appKey4.跳轉打開七魚客服 1.微信公眾平臺引入 賬號設置->第三方設置->添加插件->搜索 QIYUSDK ->添加 2.代碼引入 在分包中引入插件 "subPackages": [{"root":…

手撕算法(定制整理版2)

最長無重復子字符串 class Solution(object):def lengthOfLongestSubstring(self, s):""":type s: str:rtype: int"""if not s:return 0max_len 0tp []for a in s:while a in tp:del tp[0]tp.append(a)if len(tp) > max_len:max_len len(…

數字IC后端培訓教程之數字后端項目典型案例分析

今天給大家分享下最近小編幫助學員解決的幾個經典數字IC后端項目問題。希望能夠對大家的學習和工作有所幫助。 數字IC后端項目典型問題之后端實戰項目問題記錄&#xff08;2025.04.24&#xff09; 數字IC后端設計實現培訓教程&#xff08;整理版&#xff09; Q1: 老師好&…

window 顯示驅動開發-將虛擬地址映射到內存段(二)

在將虛擬地址映射到段的一部分之前&#xff0c;視頻內存管理器調用顯示微型端口驅動程序的 DxgkDdiAcquireSwizzlingRange 函數&#xff0c;以便驅動程序可以設置用于訪問可能重排的分配位的光圈。 驅動程序既不能將偏移量更改為訪問分配的 PCI 光圈&#xff0c;也不能更改分配…

Termius ssh連接服務器 vim打開的文件無法復制問題

你的問題是&#xff1a; ? 在 Termius (macOS) SSH 連接到 VMware Ubuntu&#xff0c;使用 vim 打開 .cpp 文件時&#xff0c;可以復制文本&#xff1b; ? 但在 Windows 10 上 SSH 到 VMware 的 Red Hat 6.4 時&#xff0c;復制操作無效。 ? &#x1f3af; 初步分析 復制…

楊校老師項目之基于SSM與JSP的鮮花銷售系統-【成品設計含文檔】

基于SSMJSP鮮花商城系統 隨著電子商務的快速發展&#xff0c;鮮花在線銷售已成為一種重要的消費模式。本文設計并實現了一個基于JSP技術的鮮花銷售管理系統&#xff0c;采用B/S架構&#xff0c;使用SSM框架進行開發&#xff0c;并結合Maven進行項目依賴管理。系統分為前臺用戶模…

集成學習——Bagging,Boosting

一.什么是集成學習 集成學習的基本思想是通過結合多個基學習器的預測結果&#xff0c;來提高模型的泛化能力和穩定性。這些基學習器可以是相同類型的算法&#xff0c;也可以是不同類型的算法。 當基學習器之間具有一定的差異性時&#xff0c;它們在面對不同的樣本子集或特征子…

【筆試訓練】給一個數組構建二叉樹|從前序遍歷與中序遍歷構建二叉樹|二叉樹中的最大路徑和

文章目錄 1.給一個數組構建二叉樹2.從前序遍歷和中序遍歷構建二叉樹3.二叉樹中的最大路徑和 1.給一個數組構建二叉樹 思路&#xff1a;就是借助一個隊列實現層序遍歷的思想。 先將root節點入隊列&#xff0c;構造左右節點后&#xff0c;root取出來時&#xff0c;將其左右孩子都…

Swift實戰:如何優雅地從二叉搜索樹中挑出最接近的K個值

文章目錄 摘要描述題解答案題解代碼分析示例測試及結果時間復雜度空間復雜度總結未來展望 摘要 在日常開發中&#xff0c;我們經常會遇到“在一堆數據中找出最接近某個值”的需求。尤其在搜索引擎、推薦系統或者地理坐標匹配中&#xff0c;這種“最近匹配”的問題非常常見。Le…

Linux512 ssh免密登錄 ssh配置回顧

下載MX 官網 參考 OK 登個tom試試 然后再計劃登個RealServer 計劃再用僅主機網卡試試 連不上 看來要通過JumpServer再聯 通過網卡訪問 被踢掉了 成功通過跳板機JumpServer登入到RealServer 方法一免密登錄 現計劃嘗試方法二 只有1個tom 我連了兩個tom 看來是根據IP劃…

編譯原理AST以Babel為例進行解讀、Webpack中自定義loader與plugin

AST樹詳解 編譯原理 主要研究如何將高級編程語言的源代碼轉換為機器能理解的目標代碼&#xff08;通常是二進制代碼或中間代碼&#xff09;。編譯器的底層實現通常包含多個階段&#xff0c;包括詞法分析、語法分析、語義分析和代碼生成。 一、AST的核心概念與作用 AST&#…

51c大模型~合集127

我自己的原文哦~ https://blog.51cto.com/whaosoft/13905076 #Executor-Workers架構 圖解Vllm V1系列2 本文詳細介紹了vllm v1的Executor-Workers架構&#xff0c;包括Executor的四種類型&#xff08;mp、ray、uni、external_launcher&#xff09;及其適用場景&#xff…