git學習1

目錄

  • 引入
    • 版本控制
    • 集中式和分布式版本控制
    • git工作機制
    • 代碼托管中心
  • Git常用命令
    • 設置用戶簽名
    • 初始化本地庫
    • 查看庫狀態
    • add和提交
    • 版本穿梭
  • git分支操作
    • 分支定義
      • 分支好處
    • 分支操作
    • 查看分支
    • 創建分支
    • 切換分支
    • 分支合并💕?🩷
    • 合并沖突
  • git團隊協作
    • 團隊內協作
    • 跨團隊協作
  • Github遠程庫
    • 創建遠程庫和別名
    • push推送
    • 拉取遠程庫到本地庫
      • 三級目錄
  • 項目場景:
  • 問題描述
  • 原因分析:
  • 解決方案:

學習鏈接 尚硅谷 (鏈接: link)

TO某個姓li名tao喜歡視奸的男的,別視奸了哈,挺沒勁的。🤮🤮🤮💩

引入

版本控制

在這里插入圖片描述
git主要是用于團隊協作
小紅和小藍各自修改代碼不同的區域,合并到master分支之后就是把修改的地方合并進去

集中式和分布式版本控制

集中式問題:代碼服務器的單點服務器問題
分布式:本地也可以做版本控制,每個客戶端保留完整項目;遠程一般是服務商也不容易掛掉
在這里插入圖片描述

git工作機制

提交本地庫之后就會有歷史版本,eg v4版本是在v3版本之上的,所以歷史版本是不能刪掉的

  • 提交歷史版本之后就可以push到遠程庫;
    在這里插入圖片描述

代碼托管中心

代碼托管中心一般就是我們認為的遠程庫

Git常用命令

🩷🩷🩷git中table也是可以自動補全的

在這里插入圖片描述

設置用戶簽名

前面兩個設置好用戶簽名,用于提交代碼,==簽名的作用就是為了區分不同操作者身份
設置好用戶簽名之后,在本地的user賬號里面的.gitconfig可以看到信息,

  • 這個和將來登錄github或者其他遠程庫的賬號沒有任何關系

初始化本地庫

git init:初始化本地庫之后才可以管理當前的文檔
ll命令:展示所有內容

查看庫狀態

在這里插入圖片描述
vim中【先按esc】yy是復制,p是粘貼 :wq是保存
bash中linux命令通用
里面有文件沒有git add進入暫存區就會紅色提示

add和提交

中間那個965c6al]是提交的版本號在這里插入圖片描述
使用git reflog可以查看提交版本
git log可以看到詳細提交信息,包括用戶簽名

  • 修改之后就可以使用git status查看狀態,會發現有改變,然后再add【會變綠】,再git commit,然后使用git log或者git relog就很方便

版本穿梭

版本穿梭會影響工作區,謹慎使用
如果需要恢復到之前的版本就是用版本穿梭,
具體操作:git reflog查看需要穿梭的版本好,然后使用git reset --hard 版本號,然后指針就會指向恢復的版本
在這里插入圖片描述
前面提到的指針就是HEAD文件中記錄的,里面會告訴我當前是指向哪個分支【例如master】;要尋找具體是哪個版本號在ref里面找HEAD里面的分支的名字,里面記錄的就是版本號;
在這里插入圖片描述

git分支操作

分支定義

定義:可以簡單理解分支為一個單獨的copy;開發完之后再合并進去
在這里插入圖片描述
示意圖:master也是一個分支,或者稱為主線分支。
在這里插入圖片描述

分支好處

在這里插入圖片描述

分支操作

在這里插入圖片描述
注意對話框,最右邊顯示的就是當前的分支
在這里插入圖片描述

查看分支

git branch -v用于查看當前有幾個分支,例如下面這個只有一個分支master
在這里插入圖片描述

創建分支

git branch 分支名:就可以創建一個新的分支 例如起名為hot-fix

切換分支

git checkout 分支名:在這里插入圖片描述
然后在這個分支下面修改文件,然后add,然后commit

分支合并💕?🩷

需要回到master分支上【git checkout master】,然后git merge hot-hit,就表示將hot-fix分支合并到master分支上;如果弄反了,沒有回到master分支,而是還在hot-fix分支上,那就是自己合并自己

  • 一定要切回被合并的主干分支上
  • 下面這個圖就表示合并成功,master合并的時候就被改了
    在這里插入圖片描述

合并沖突

例如:如果master分支和hot-fix分支都修改了同一個地方,就不會自動合并;

  • 下面黃框表示合并沒有成功,還在合并
    在這里插入圖片描述
    這時進入提醒conflict的文件里面用cat,會自動顯示沖突的地方;人為修改之后再add[ git add hello.txt],再commit,注意,這個時候commit的時候不用加文件名,會自動合并剛剛修改之后的
    在這里插入圖片描述
    這個就是加了文檔名和不加文檔名的區別。加了文檔名會報錯,不知道合并哪一個,不加文檔名不報錯,直接合并剛剛人工手動修改的那個
  • 注意!這里修改的還是master分支上面的,剛剛就是站在master分支角度合并出錯去修改的,那么hot-fix分支并不會改變
    在這里插入圖片描述

git團隊協作

團隊內協作

已有本地庫,如果再使用pull拉下來的話,本地庫會更新顯示別人的修改
在這里插入圖片描述

跨團隊協作

遠程庫2首先fork【也就是復制,github上的fork就是這個意思】,開發好之后 pull ,遠程庫1審核后可以merge
在這里插入圖片描述

Github遠程庫

在這里插入圖片描述

創建遠程庫和別名

創造別名:因為遠程的鏈接有點長,起個名字
git remote -v 查看跟當前本地庫鏈接的遠程庫有哪些
git remote add 別名 分支

push推送

git push 剛剛起的別名 分支 可能因為網絡原因失敗
最好遠程和本地的名字是一樣的

拉取遠程庫到本地庫

本地庫和遠程庫不是同步的了,就需要拉取到本地然后更新修改
git pull 別名 遠程端的分支名字

三級目錄

項目場景:

提示:這里簡述項目相關背景:

例如:項目場景:示例:通過藍牙芯片(HC-05)與手機 APP 通信,每隔 5s 傳輸一批傳感器數據(不是很大)


問題描述

提示:這里描述項目中遇到的問題:

例如:數據傳輸過程中數據不時出現丟失的情況,偶爾會丟失一部分數據
APP 中接收數據代碼:

@Overridepublic void run() {bytes = mmInStream.read(buffer);mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();}

原因分析:

提示:這里填寫問題的分析:

例如:Handler 發送消息有兩種方式,分別是 Handler.obtainMessage()Handler.sendMessage(),其中 obtainMessage 方式當數據量過大時,由于 MessageQuene 大小也有限,所以當 message 處理不及時時,會造成先傳的數據被覆蓋,進而導致數據丟失。


解決方案:

提示:這里填寫該問題的具體解決方案:

例如:新建一個 Message 對象,并將讀取到的數據存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();換成 mHandler.sendMessage()

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

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

相關文章

redis原理篇--Dict

Dict數據結構一、Redis字典的核心組件Redis字典由三部分構成:dictht(哈希表):存儲桶數組與元數據dictEntry(哈希節點):存儲鍵值對dict(字典主體):包含雙哈希表…

靜態路由主備切換

在網絡中,靜態路由的主備切換是實現網絡冗余的基礎方案之一,通過配置不同優先級的靜態路由,確保主用路徑故障時,流量能自動切換到備用路徑,提升網絡可靠性。以下從知識講解和實驗配置兩部分詳細說明。一、靜態路由主備…

PDF處理控件Aspose.PDF教程:在C#、Java、Python中快速縮小PDF

如果您的PDF太大,無法通過電子郵件發送,或者在線加載時間過長,您可以在幾秒鐘內縮小 PDF 大小。本教程介紹了借助Aspose.PDF使用 C#、Java 和 Python 編程快速縮小PDF的方法。 Aspose.PDF官方試用版下載 通過編程縮小 PDF 尺寸 如果您需要…

AWS EKS 常用命令大全:從基礎管理到高級運維

前言 Amazon Elastic Kubernetes Service (EKS) 是 AWS 提供的托管 Kubernetes 服務,大大簡化了 K8s 集群的部署和管理工作。作為 EKS 管理員或開發者,熟練掌握 kubectl 命令是日常工作的基礎。本文將詳細介紹 EKS 環境中常用的 kubectl 命令,涵蓋集群管理、工作負載操作、…

GitHub Browser-Use 的部署失敗記錄:失敗了,失敗了。。。。

一、項目背景與核心作用 browser-use 是一個開源的瀏覽器自動化工具,通過集成 AI 智能體(如 GPT、Claude、DeepSeek 等大型語言模型),實現用自然語言控制瀏覽器操作。其核心目標是 簡化網頁交互自動化,尤其適合復雜、…

調用springboot接口返回403,問題定位及總結

背景在一次與前端聯調后端接口時前端返回接口返回狀態碼是403,前端返回說已經帶了請求token。排查 查看后端控制臺沒有出現任何錯誤信息。自己postman手動調用接口,發現接口正常。仔細核對前端調用接口與postman請求的區別,沒有發現任何問題。…

布隆過濾器原理分析、應用場景、與redis使用案例

一、核心結構與工作原理1.1 數據結構布隆過濾器由以下兩部分組成:位數組(Bit Array):一個長度為 m 的二進制數組,初始所有位為0。哈希函數組:k 個獨立的哈希函數,每個函數將輸入元素映射到位數組…

異步并發×編譯性能:Dart爬蟲的實戰突圍

Dart憑借其高效的異步并發模型、AOT編譯性能和現代化的語法,正成為爬蟲開發中值得關注的新選擇。特別是對于Flutter應用開發者而言,Dart提供了一種"全棧同語言"的獨特優勢。 本文我將通過實戰代碼展示如何利用Dart的核心優勢——包括基于Futur…

Day 8: 深度學習綜合實戰與進階技術 - 從優化到部署的完整流程

Day 8: 深度學習綜合實戰與進階技術 - 從優化到部署的完整流程 ?? 學習目標: 掌握深度學習模型優化、調試、遷移學習等工業級技能,能夠構建高性能的深度學習應用 ?? 核心概念概覽 核心概念解釋: 模型優化: 通過正則化、學習率調度等技術提升模型性能和泛化能力 為什么需…

特征工程--機器學習

1、特征工程1.1 概念特征工程(Feature Engineering)是機器學習項目中非常關鍵的一步,它是指通過領域知識來選擇、創建或修改能夠使機器學習模型更好地工作的特征(即輸入變量)。特征工程的目標是提高模型的性能&#xf…

支持任意 MCP 協議的客戶端

支持任意 MCP 協議的客戶端(如:Cursor、Claude、Cline)可方便使用高德地圖 MCP server。目前支持Streamable HTTP, SSE 和 Node.js I/O 三種接入方式(推薦用戶使用Streamable HTTP)。 快速接入-MCP Server|高德地圖API

【線性代數】目錄

【線性代數】線性方程組與矩陣——(1)線性方程組與矩陣初步【線性代數】線性方程組與矩陣——行列式【線性代數】線性方程組與矩陣——(2)矩陣與線性方程組的解【線性代數】線性方程組與矩陣——(3)線性方程…

豆包新模型+PromptPilot:AI應用開發全流程實戰指南

> 當深度推理的豆包大模型遇上智能提示詞引擎,傳統AI開發中**70%的調試時間被壓縮至幾分鐘**,一場從“手工調參”到“智能優化”的開發范式革命正在發生。 ## 一、技術架構解析:雙引擎驅動智能進化 ### 1.1 豆包新模型的技術突破 2025年火山引擎推出的**豆包1.6系列模型…

Day13 Vue工程化

1.介紹&環境準備 npm兩項全局配置2.項目介紹&開發流程 npm create vue3.3.4 / install / run dev3.API風格 setup ref() onMounted()兩種風格選項式API寫法轉為組合式API寫法在根組件App.vue中引用寫好的xxx.vue4.案例1.引入組件2.完整代碼<script></script&g…

Linux中配置DNS

Linux中配置DNS服務 一、什么是DNS DNS (Domain Name System) 是域名服務 &#xff0c;它是由解析器和域名服務器組成的。 域名服務器是指保存有該網絡中所有主機的域名和對應IP地址&#xff0c; 并具有將域名轉換為IP地址功能的服務器。&#xff08;將網址解析成IP&#xff…

Redis應?-緩存與分布式鎖

&#x1f308; 個人主頁&#xff1a;Zfox_ &#x1f525; 系列專欄&#xff1a;Redis &#x1f525; 什么是緩存 緩存(cache)是計算機中的?個經典的概念.在很多場景中都會涉及到 核?思路就是把?些常?的數據放到觸?可及 (訪問速度更快) 的地?,?便隨時讀取 對于計算機…

TCP、HTTP/HTTPS、FTP 解析 + 面試回答參考

TCP、HTTP/HTTPS、FTP 解析 面試回答參考 在后端開發、網絡編程以及運維面試中&#xff0c;TCP 協議、HTTP/HTTPS、FTP 是高頻考點。本文將從原理、流程、面試常問問題出發&#xff0c;幫你一次性搞懂這些核心知識點。一、TCP 三次握手 1. 作用 建立可靠連接&#xff0c;確保雙…

ATF(TF-A)安全通告 TFV-13(CVE-2024-7881)

安全之安全(security)博客目錄導讀 ATF(TF-A)安全通告匯總 目錄 一、漏洞描述 二、緩解措施與建議 三、補丁修改 關于該漏洞的具體細節,可參考【CVE-2024-7881】ARM CPU漏洞安全通告】 Title 非特權上下文可以觸發數據相關的預取引擎,從而獲取特權位置的內容,并將這些…

Pytorch深度學習框架實戰教程-番外篇02-Pytorch池化層概念定義、工作原理和作用

相關文章 視頻教程 《Pytorch深度學習框架實戰教程01》《視頻教程》 《Pytorch深度學習框架實戰教程02&#xff1a;開發環境部署》《視頻教程》 《Pytorch深度學習框架實戰教程03&#xff1a;Tensor 的創建、屬性、操作與轉換詳解》《視頻教程》 《Pytorch深度學習框架實戰…

常見通信協議詳解:TCP、UDP、HTTP/HTTPS、WebSocket 與 GRPC

常見通信協議詳解&#xff1a;TCP、UDP、HTTP/HTTPS、WebSocket 與 RPC 在現代網絡通信中&#xff0c;各種協議扮演著至關重要的角色&#xff0c;它們決定了數據如何在網絡中傳輸、控制其可靠性、實時性與適用場景。對于開發者而言&#xff0c;理解這些常見的通信協議&#xff…