git倉庫和分支的關系

1?? 倉庫分支(Repository Branch)

  • 每個 Git 倉庫都有自己的分支結構。

  • 分支決定你當前倉庫看到的代碼版本。

  • 示例:倉庫分支只是局部修改,項目分支才是全局管理所有倉庫分支的概念。

wifi_camera 倉庫: - main - dev - feature_x

切換分支后,你看到的就是這個倉庫的對應版本。


1?? 本地分支(Local Branch)

  • 存在于你本地倉庫的分支。

  • 你可以在上面自由修改、提交(git commit)。

  • 只有你本地可見,除非推送到遠程倉庫。

2?? 遠程分支(Remote Branch)

  • 存在于遠程倉庫(如 origin)的分支。

  • 遠程分支通常以 remotes/origin/分支名 的形式顯示。

  • 不能直接修改,需要先拉取(git fetch/git pull)到本地分支,再操作。

3?? 本地分支與遠程分支的關系

  • 跟蹤關系(Tracking):本地分支可以設置跟蹤某個遠程分支。

    • 例如,你本地的 release/AC792N_SDK_V3 可能跟蹤遠程的 origin/release/AC792N_SDK_V3

    • 這樣你執行 git pull 就會拉取遠程分支的更新到本地分支。

  • 推送關系:本地分支修改后,可以 git push 到遠程分支。

  • 同步

    • git fetch:更新遠程分支信息,但不改變本地分支。

    • git pull:先 fetch,再把遠程分支合并到本地分支。


🔹 舉個例子
遠程 origin:release/AC792N_SDK_V3feature/openvg本地:* release/AC792N_SDK_V3 (跟蹤 origin/release/AC792N_SDK_V3)dev_temp (未跟蹤遠程)
  • 當你在本地 release/AC792N_SDK_V3 提交后,執行 git push 會把修改同步到遠程的 origin/release/AC792N_SDK_V3

  • 當遠程 origin/feature/openvg 有更新,你本地沒有這個分支時,需要先 git checkout -b feature/openvg origin/feature/openvg 才能操作。


1?? wifi_sdk 倉庫

  • 這是 頂層倉庫,也就是你 repo init / repo sync 拉下來的根倉庫。

  • 它的內容通常包括整個項目的 整體結構,以及一些公共配置或頂層構建文件(比如 build/)。

  • wifi_sdk 倉庫下,你看到的 release/AC792N_SDK_V3 分支就是屬于 這個倉庫 的分支。


2?? wifi_sdk/apps/common 倉庫

  • 這是一個 子倉庫(sub-repo),通過 repo 管理工具納入到 wifi_sdk 項目中。

  • 它只管理自己的一部分代碼(比如 common 相關的應用或模塊)。

  • 它有自己的分支和遠程倉庫,與頂層 wifi_sdk 倉庫相對獨立。

  • 你在 wifi_sdk/apps/common 下可以用 git branch -a 查看它自己的分支,而不是頂層倉庫的分支。


3?? 總結區別

項目類型分支歸屬內容
wifi_sdk頂層倉庫release/AC792N_SDK_V3整個項目結構,build腳本等
wifi_sdk/apps/common子倉庫(sub-repo)它自己的分支common模塊相關的代碼
  • 頂層倉庫管理整體項目和子倉庫列表

  • 子倉庫只管理自己的一小部分代碼,它的分支獨立于頂層倉庫。

  • repo list 就是列出頂層倉庫下所有的子倉庫及路徑。


1?? repo list

  • 作用:列出整個 項目下的所有 Git 倉庫

  • 范圍:整個項目,無論你當前在本地哪個子倉庫目錄下,都會顯示項目中定義的所有倉庫。

  • 信息:每個倉庫的路徑、倉庫在遠程的目錄或來源(manifest 里定義的)。

  • 例子

wifi_sdk/apps/wifi_camera : wifisdk/wifi_camera/apps wifi_sdk/lib/media : department/firmware6/media

意思是項目里有 wifi_camera 倉庫、media 倉庫,它們分別對應這些路徑。


2?? git branch -a

  • 作用:列出 當前 Git 倉庫 的所有分支。

  • 范圍:僅限你當前所在的倉庫。

  • 信息

    • 本地分支(* release/AC792N_SDK_V3 表示當前分支)

    • 遠程分支(remotes/origin/master 等)


🔹 總結對比

命令范圍顯示內容用途
repo list項目級所有倉庫及路徑查看項目里有哪些倉庫
git branch -a倉庫級當前倉庫本地和遠程分支查看當前倉庫有哪些分支

簡單理解:

  • repo list → 看“項目里都有誰”

  • git branch -a → 看“我自己這個倉庫里有哪些分支”

———————————————————————————————————————————

重定向:

remotes/m/wifi_video_master -> origin/wifi_video_master

這其實不是「兩個分支」同時存在,而是一個符號引用(symbolic-ref),你可以理解成 別名/快捷方式

也就是說:

  • m/wifi_video_master 其實不是真的有分支,它只是一個「指針」,指向 origin/wifi_video_master

  • 你看到的 -> 就說明 m/wifi_video_master 這個名字只是 重定向到 origin/wifi_video_master

  • 所以你本地并沒有真正 m/wifi_video_master 的對象,它只是一個別名。

m是一個倉庫名,origin也是一個倉庫名

———————————————————————————————————————————

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

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

相關文章

Linux的基本操作

Linux 系統基礎操作完整指南一、文件與目錄操作1. 導航與查看pwd (Print Working Directory)作用:顯示當前所在目錄的完整路徑示例:pwd → 輸出 /home/user/documents使用場景:當你在多層目錄中迷失時快速定位當前位置ls (List)常用選項&…

npm設置了鏡像 pnpm還需要設置鏡像嗎

npm配置鏡像后是否需要為pnpm單獨設置鏡像? 是的,即使您已經為npm設置了鏡像源(如淘寶鏡像),仍然需要單獨為pnpm配置鏡像源。這是因為npm和pnpm是兩個獨立的包管理工具,它們的配置系統和環境變量是分離的&a…

Linux管道

預備知識:進程通信進程需要某種協同,協同的前提條件是通信。有些數據是用來通知就緒的,有些是單純的傳輸數據,還有一些是控制相關信息。進程具有獨立性,所以通信的成本可能稍微高一點;進程間通信前提是讓不…

基于Spring Boot的快遞物流倉庫管理系統 商品庫存管理系統

🔥作者:it畢設實戰小研🔥 💖簡介:java、微信小程序、安卓;定制開發,遠程調試 代碼講解,文檔指導,ppt制作💖 精彩專欄推薦訂閱:在下方專欄&#x1…

腳手架開發-Common封裝基礎通用工具類<基礎工具類>

書接上文 java一個腳手架搭建_redission java腳手架-CSDN博客 以微服務為基礎搭建一套腳手架開始前的介紹-CSDN博客 腳手架開發-準備配置-進行數據初始化-配置文件的準備-CSDN博客 腳手架開發-準備配置-配置文件的準備項目的一些中間件-CSDN博客 腳手架開發-Nacos集成-CSD…

軟件系統運維常見問題

系統部署常見問題 環境配置、兼容性問題。生產與測試環境的操作系統、庫版本、中間件版本不一致,運行環境軟件版本不匹配。新舊版本代碼/依賴不兼容。依賴缺失或沖突問題。后端包啟動失敗,提示類/方法/第三方依賴庫找不到或者版本沖突。配置錯誤。系統啟…

2021 IEEE【論文精讀】用GAN讓音頻隱寫術騙過AI檢測器 - 對抗深度學習的音頻信息隱藏

使用GAN生成音頻隱寫術的隱寫載體 本文為個人閱讀GAN音頻隱寫論文,部分內容注解,由于原文篇幅較長這里就不再一一粘貼,僅對原文部分內容做注解,僅供參考詳情參考原文鏈接 原文鏈接:https://ieeexplore.ieee.org/abstra…

PWA技術》》漸進式Web應用 Push API 和 WebSocket 、webworker 、serviceworker

PWA # 可離線 # 高性能 # 無需安裝 # 原生體驗Manifest {"name": "天氣助手", // 應用全名"short_name": "天氣", // 短名稱(主屏幕顯示)"start_url": "/index.html&…

數據結構——棧和隊列oj練習

225. 用隊列實現棧 - 力扣(LeetCode) 這一題需要我們充分理解隊列和棧的特點。 隊列:隊頭出數據,隊尾入數據。 棧:棧頂出數據和入數據。 我們可以用兩個隊列實現棧,在這過程中,我們總要保持其…

Java基礎 8.19

目錄 1.局部內部類的使用 總結 1.局部內部類的使用 說明:局部內部類是定義在外部類的局部位置,比如方法中,并且有類名可以直接訪問外部類的所有成員,包含私有的不能添加訪問修飾符,因為它的地位就是一個局部變量。局…

從父類到子類:C++ 繼承的奇妙旅程(2)

前言:各位代碼航海家,歡迎回到C繼承宇宙!上回我們解鎖了繼承的「基礎裝備包」,成功馴服了public、protected和花式成員隱藏術。但——??前方高能預警: 繼承世界的暗流涌動遠不止于此!今天我們將勇闖三大神…

【圖像算法 - 16】庖丁解牛:基于YOLO12與OpenCV的車輛部件級實例分割實戰(附完整代碼)

庖丁解牛:基于YOLO12與OpenCV的車輛部件級實例分割實戰(附完整代碼) 摘要: 告別“只見整車不見細節”!本文將帶您深入實戰,利用YOLO12-seg訓練實例分割模型,結合OpenCV的強大圖像處理能力&…

ubuntu22.04配置遠程桌面

文章目錄前言檢查桌面類型xorg遠程桌面(xrdp)安裝xrdpxrdp添加到ssl-certwayland遠程桌面(gnome-remote-desktop)檢查安裝開啟開啟狀況檢查自動登錄奇技淫巧前言 在windows上使用遠程桌面服務,連接ubuntu主機的遠程桌面 檢查桌面類型 查看桌面類型、協議 echo $…

SQL Server 中子查詢、臨時表與 CTE 的選擇與對比

在 SQL Server 的實際開發過程中,我們常常需要將復雜的查詢邏輯分解為多個階段進行處理。實現這一目標的常見手段有 子查詢 (Subquery)、臨時表 (Temporary Table) 和 CTE (Common Table Expression)。這三者在語法、執行效率以及可維護性方面各有優勢與局限。如何選…

肖臻《區塊鏈技術與應用》第20-22講 - 以太坊難度調整、權益證明和智能合約

以太坊的“冰河時代”:詳解難度調整算法與“難度炸彈” 摘要: 為了實現遠快于比特幣的十幾秒出塊速度,以太坊必須設計一套更為靈敏和復雜的挖礦難度調整算法。本文基于北京大學肖臻老師的公開課內容,深入剖析了以太坊獨特的逐塊難度調整機制。文章首先解釋了其維持15秒平均…

C++中內存池(Memory Pool)詳解和完整示例

1. 什么是內存池? 內存池(Memory Pool / Pool Allocator) 是一種內存管理機制,提前向系統申請一大塊內存,再在這塊內存里切分、分配和回收。 它相當于在用戶空間建立了一層 “小型堆管理器”,避免頻繁調用系…

測試 Next.js 應用:工具與策略

1. 引言 Next.js 作為一個基于 React 的全棧框架,在構建復雜 Web 應用時,測試是確保代碼質量、功能穩定性和用戶體驗的關鍵步驟。測試可以分為單元測試、集成測試和端到端測試三種類型,每種類型針對不同的層面:單元測試驗證單個組…

IP 分片和組裝的具體過程

IP 分片和組裝的具體過程 在這里插入圖片描述 ? 16 位標識(id): 唯一的標識主機發送的報文. 如果 IP 報文在數據鏈路層被分片了, 那么每一個片里面的這個 id 都是相同的. ? 3 位標志字段: 第一位保留(保留的意思是現在不用, 但是還沒想好說不定以后要用到). 第二位置為 1 表示…

數據倉庫OLTPOLAP維度講解

?博客主頁: https://blog.csdn.net/m0_63815035?typeblog 💗《博客內容》:大數據、Java、測試開發、Python、Android、Go、Node、Android前端小程序等相關領域知識 📢博客專欄: https://blog.csdn.net/m0_63815035/…

OpenHarmony之編譯配置白名單機制深度解析:構建系統的安全防線

一、白名單機制概述 在OpenHarmony的構建系統中,compile_standard_whitelist.json是一個關鍵的安全驗證機制,它作為編譯過程中的"守門人",確保只有經過驗證的組件和依賴關系才能被納入最終構建產物。這個機制是OpenHarmony構建系統…