git子模塊--常見操作

克隆倉庫

標準化克隆流程
  • 基本命令
    git clone <父倉庫遠程URL> [本地文件名]
    cd <本地倉庫名>
    git submodule init   # 初始化子模塊配置
    git submodule update # 拉取子模塊內容
    
一次性完成克隆和初始化流程
  • 基本命令
    git clone --recurse-submodules <父倉庫遠程URL> [本地文件名]
    
其他克隆流程
  • 基本命令
    git clone <遠程倉庫URL> [本地文件名]
    cd <本地倉庫名>
    git submodule update --init --recursive
    

添加子模塊配置

標準化添加流程
  • 添加倉庫命令
    git submodule add <子目錄遠程倉庫URL> [子模塊名]
    # 例:
    git submodule add $(cd blog && git remote get-url origin) blog # 將blog這個模塊作為子模塊添加到當前git倉庫中;使用 git remote get-url <本地倉庫名>
    
  • 成功添加后的表現
    • 生產或修改.gitmodules文件,若已有此文件,則直接寫入新增的子模塊配置,否則新建一個名為.gitmodules的文件并寫入第一關配置
    • 提交時,子模塊以特殊模式(160000)記錄,表示其指向某個具體提交而非普通文件。

移除子模塊配置

標準化寫在流程
  • 命令行卸載子模塊
    git submodule deinit <子模塊的相對路徑> # 在.git/config 和 .gitsubmodule中移除配置
    # 例:
    git submodule deinit "blog"
    
  • 刪除子模塊并暫存變更
    git rm <子模的相對塊路徑>
    
  • 清理殘留文件:徹底刪除子模塊的Git緩存
    rm -rf .git/modules/<子模塊名稱>
    
  • 提交變更

修改子模塊配置

更新子模塊路徑以及名稱
  • 使用命令移動或重命名子模塊目錄
    git mv old/path new/path # 將舊的路由更名為新的路由
    
    執行完畢后.gitmodules中的路由配置信息會自動更新
    git config -f .gitmodules submodule.<submodule-neme>.path new/path # 如果沒有自動更新可使用此命令更新,或手動編輯 .gitmodules 文件
    
  • 使用文件編輯器方式更新子模塊名稱
    vim .gitmodules # 使用任何編輯方式均可
    
    修改[submodule "<子模塊名>"]中的配置
    [submodule "old-name"]  => [submodule "new-name"] # 將名稱配置修改為新的名稱(最好與路徑字符串統一)
    path = <new/path>
    url = <URL保持不變>
    
  • 在其他地方使用最新的倉庫
    git pull # 拉取最新內容,修改后的路徑會以一個全新的文件夾的方式新增在這里
    rm -rf old/path # 移除掉以及被淘汰的舊路徑
    git submodule update # 更新子模塊內容,如果此命令無效可先輸入 git submoduel init
    cd new/path
    git switch <目標分支> # 新克隆的子模塊的分支處于游離狀態,所以需呀切換到有效分支在做操作
    
更新子模塊遠程地址
  • 使用命令更新子模塊路徑
    git config -f .gitmodules submodule.<submodule-name>.url <new-url>
    
    自動更新.gitmodules文件中的呢日歐能夠,或使用文本編輯系做如下修改
    [submodule "submodule-name"]
    path = <路徑保持不變>
    url = <old-url> => url = <new-url> # 將URL配置修改為新的URL
    
  • 使用命令更新子模塊
    git submodule update --remote
    
  • 在其他地方使用最新的倉庫
    git pull # 拉取最新內容,修改后的路徑會以一個全新的文件夾的方式新增在這里
    git submodule update # 更新子模塊內容,如果此命令無效可先輸入 git submoduel init
    
更新子模塊內容,以及同步父模塊
  • 從本地更新到遠程
    cd path
    git add .
    git commit -m "<提交信息>"
    git pull [倉庫名稱] [目標分支] # 提交之前拉取一次最新版的遠程倉庫,防止提交沖突
    git push [倉庫名稱] [目標分支]
    cd <父倉庫的根目錄>
    git commit -am "更新子模塊"
    git pull
    git push
    
  • 從遠程更新到本地
    cd path
    git switch <分支名稱>
    git pull [倉庫名稱] [目標分支]
    git submodule update --remote [--init] [--recursive] # 遠程指令(必填)、初始化指令(選填)、遞歸指令(選填)
    

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

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

相關文章

ceph 剔除 osd

剔除 osd 參考官網文檔 Removing OSDs (Manual) Removing the OSD 你得周期性地維護集群的子系統、或解決某個失敗域的問題(如一機架)。如果你不想在停機維護 OSD 時讓 CRUSH 自動重均衡,提前設置 noout ceph osd set nooutid=1# OSD 通常在從集群中移除之前處于 up in 在…

MySQL推出全新Hypergraph優化器,正式進軍OLAP領域!

在剛剛過去的 MySQL Summit 2025 大會上&#xff0c;Oracle 發布了一個用于 MySQL 的全新 Hypergraph&#xff08;超圖&#xff09;優化器&#xff0c;能夠為復雜的多表查詢生成更好的執行計劃&#xff0c;從而優化查詢性能。 這個功能目前只在 MySQL HeatWave 云數據庫中提供&…

破能所,入不二

一、緣起&#xff1a;從“聞所聞盡”到性相不二 《楞嚴經》觀世音菩薩耳根圓通法門的核心教義——“初于聞中&#xff0c;入流亡所&#xff1b;所入既寂&#xff0c;動靜二相&#xff0c;了然不生。如是漸增&#xff0c;聞所聞盡”&#xff0c;揭示了從凡夫二元認知躍升至究竟…

網站每天幾點更新,更新頻率是否影響網站收錄

1. 每天幾點更新網站最合適&#xff1f;總怕時間選錯影響收錄&#xff1f; 剛開始搞網站的時候&#xff0c;是不是老糾結啥時候更新合適&#xff1f;早上剛上班&#xff1f;半夜沒人的時候&#xff1f;選不對時間&#xff0c;總擔心搜索引擎爬蟲來了沒抓到新內容&#xff0c;影…

使用workvisual對庫卡機器人進行程序備份

1&#xff0c;將電腦網卡設置自動獲取&#xff0c;用網線將電腦與庫卡機器人控制柜上的網口連接 2&#xff0c;打開軟件后&#xff0c;會出現項目打開對話框&#xff0c;點擊瀏覽按鈕&#xff0c;會出現機器人站項目 3&#xff0c;點擊項目前面的?&#xff0c;展開菜單&…

2025.5.22 Axure 基礎與線框圖制作學習筆記

一、Axure 基礎 - 界面及相關了解 界面布局 工具欄 &#xff1a;位于軟件上方&#xff0c;包含新建、打開、保存等常用文件操作按鈕&#xff0c;以及撤銷、重做、剪切、復制、粘貼等編輯功能按鈕&#xff0c;方便快速執行相關操作。 元件面板 &#xff1a;在左側&#xff0c;提…

Python訓練打卡Day36

復習日&#xff1a; 回顧神經網絡的相關信息 1. 梯度下降的思想 梯度下降的本質是一種迭代優化算法&#xff0c;用于尋找函數的極小值點&#xff08;比如損失函數的最小值&#xff09;其關鍵的要素如下 梯度&#xff1a;函數在某點變化率最大方向學習率&#xff1a;每一步的…

【Android】System分區應用自帶庫與原生庫同名問題分析

System分區應用自帶庫與原生庫同名問題分析 問題背景 某系統應用發生必現崩潰問題。崩潰log如下 0*-** **:**:**.** 66666 66666 E ***** aar error:: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_TTT_TTT_TTT" referenced by &quo…

計算機網絡中的單播、組播與廣播

文章目錄 前言一、單播&#xff08;Unicast&#xff09;1.1 定義與工作原理1.2 優點1.3 缺點1.4 典型應用場景 二、廣播&#xff08;Broadcast&#xff09;2.1 定義與工作原理2.2 優點2.3 缺點2.4 典型應用場景 三、組播&#xff08;Multicast&#xff09;3.1 定義與工作原理3.…

ASP.NET MVC添加新控制器示例

ASP.NET MVC高效構建Web應用- 商品搜索 - 京東 控制器&#xff08;Controllers&#xff09;是一個協調視圖和模型直接關系的特殊類。它響應用戶輸入&#xff0c;與模型進行對話&#xff0c;并決定呈現哪個視圖&#xff08;如果有的話&#xff09;。在ASP.NET MVC中&#xff0c…

Escrcpy(安卓手機投屏軟件) v1.29.6 中文綠色版

在數字設備日益普及的今天&#xff0c;用戶對于設備的控制和管理需求也在不斷增加。對于Android設備用戶來說&#xff0c;Escrcpy這款強大的工具無疑是一個福音。它不僅提供了直觀的圖形化界面&#xff0c;讓用戶能夠輕松顯示和控制自己的Android設備&#xff0c;還以完全免費開…

Python爬蟲實戰:研究Goose框架相關技術

一、引言 隨著互聯網的迅速發展,網絡上的信息量呈爆炸式增長。從海量的網頁中提取有價值的信息成為一項重要的技術。網絡爬蟲作為一種自動獲取網頁內容的程序,在信息收集、數據挖掘、搜索引擎等領域有著廣泛的應用。本文將詳細介紹如何使用 Python 的 Goose 框架構建一個完整…

【Linux 學習計劃】-- 馮諾依曼體系 | 操作系統的概念與定位,以及其如何管理軟件

目錄 馮諾依曼體系結構 操作系統是干什么的&#xff1f; 理解操作系統中的管理 對OS&#xff08;操作系統&#xff09;宏觀、整體的分析 總結 結語 馮諾依曼體系結構 首先我們來看這樣一張圖&#xff0c;這就是大名鼎鼎的馮諾依曼體系 在日常生活中&#xff0c;所有的計…

新消息!阿里云ACP大模型認證有變化!

阿里云ACP認證是阿里云認證中的高級工程師&#xff0c;ACP認證方向有云計算、大數據、人工智能、大模型等多個&#xff0c;大家都知道&#xff0c;阿里云ACP考試題量共100題&#xff0c;其中70道單選題30道多選題&#xff0c;每題一分&#xff0c;滿分100分&#xff0c;80分合格…

MySQL 數據遷移Postgresql(openGuass) 之 pg_chameleon

1 pg_chameleon 介紹 pgchameleon 是一款MySQL 到 PostgreSQL/openGuass 的復制工具。 pg_chameleon 使用場景&#xff1a; 1&#xff09;分析 2&#xff09;遷移 3&#xff09;對多個MySQL 數據庫進行數據聚合 操作系統信息 (myenv) rootu24-pg-60:~# cat /etc/issue Ubuntu …

Spark 中,map和foreach的區別

在 Spark 中&#xff0c;map和foreach是兩種不同用途的轉換操作&#xff0c;主要區別在于&#xff1a; 1. 操作類型與返回值 map&#xff1a;是轉換操作&#xff08;Transformation&#xff09;&#xff0c;返回一個新的 RDD。foreach&#xff1a;是行動操作&#xff08;Acti…

More SQL(Focus Subqueries、Join)

目錄 Subqueries Subqueries That Return One Tuple Subqueries and Self Connection The IN Operator The Exists Operator The Operator ANY The Operator ALL Union, Intersection, and Difference&#xff08;交并差&#xff09; Bag Semantics Controlling Dupl…

OpenGL Chan視頻學習-4 Vertex Buffers and Drawing a Triangle in OpenGL

一、視頻鏈接 【最好的OpenGL教程之一】https://www.bilibili.com/video/BV1MJ411u7Bc?p5&vd_source44b77bde056381262ee55e448b9b1973 二、相關網站 docs.gl 三、代碼整理 c #include <GL/glew.h> #include <GLFW/glfw3.h>#include<iostream>int…

WSL中ubuntu通過Windows帶代理訪問github

WSL中ubuntu通過Windows帶代理訪問github 前言: WSL是Windows下的ubuntu訪問工具&#xff0c;目前無法訪問外網&#xff0c;因此需要配置一下。 步驟一 代理中進行如下設置: 步驟二 ubuntu22.04中修改配置 使用如下命令獲取IP地址&#xff1a; ip route | grep default | aw…

為(FramePack)的視頻生成添加首尾幀功能

文章目錄 &#xff08;一&#xff09;前言&#xff08;二&#xff09;可選的尾幀&#xff08;三&#xff09;測試&#xff08;四&#xff09;例子 &#xff08;一&#xff09;前言 前提是這個&#xff1a;《筆記本6GB本地可跑的圖生視頻項目&#xff08;FramePack&#xff09;…