Git submodule 的筆記

這次不造輪子,寫寫文章。

file

最近想把自己的 blog 整理到 github 上,但由于其中依賴了一些主題以及插件,這時候 git submodule 就能很好的處理這種情況了。

submodule 是什么?

submodule 顧名思義,子模塊。在一個項目依賴其他 git 上的模塊時就很有用處了。

以我自己這次修改做例子:
我的 typecho 博客 依賴了 主題 typecho_material_theme 和 插件 Links_for_Material_Theme

那寫下來就寫寫整個過程。

凍手不?凍手

file

準備

  • 已有一個 typecho 項目,可以從 github 上 fork 一個 github.com/typecho/typ…
  • 對應的一個 github 倉庫,如 github.com/HanSon/my-b…
  • 記得把 .gitignore 中的 /usr/theme/usr/plugins 相關路徑去掉(在最底部的4行)

動手

開始增加子模塊(最后為路徑)

cd typecho
git submodule add git@github.com:HanSon/typecho_material_theme.git usr/theme/typecho_material_theme
git submodule add git@github.com:HanSon/Links_for_Material_Theme.git usr/theme/Links復制代碼

這時候應該能看到開始對兩個庫 clone 中,查看一下 git status , 應該能看到修改的有多了兩個庫,以及 .gitmodules 的修改

git status復制代碼

然后我們來提交到 github 中

git commit -am "增加子模塊"
git push origin master復制代碼

這時就已經成功提交到 github 上了,我們來看看 github 上是如何顯示 submodule 的

file

可以看到多了兩個不一樣的圖標,點擊自動跳轉去該倉庫的地址(@ 后面代表的是 commit id)

來 pull

git clone https://github.com/HanSon/my-blog.git
cd my-blog復制代碼

pull 完發現只剩下文件夾,submodule 并沒有內容,需要先初始化 submodule 并且 update

git submodule init
git submodule update復制代碼

這時候就發現 submodule 的內容已經 pull 下來了!

如果更新了 submodule , project 應該如何跟著更新?

  • 按需更新。 去到相對應的 submodule 目錄執行 git pull origin master 即可。

  • 簡單粗暴,全部更新。git submodule foreach git pull origin master

這次給我的博客加上了播放哈林搖的功能 hanc.cc

file

你還可以把上圖的 Let's party 拖到書簽欄,然后訪問你想要搖的網站,點擊剛保存的書簽進行搖一下。

file

PS:上面所述為實操后憑記憶記下來的,如有遺漏歡迎補充

file

轉載于:https://juejin.im/post/58f06fd00ce463006b9f1e0a

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

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

相關文章

Leetcode690.Employee Importance員工的重要性

給定一個保存員工信息的數據結構,它包含了員工唯一的id,重要度 和 直系下屬的id。 比如,員工1是員工2的領導,員工2是員工3的領導。他們相應的重要度為15, 10, 5。那么員工1的數據結構是[1, 15, [2]],員工2的數據結構是…

linux進程管理類命令大全,Linux進程管理類命令

一、htop命令選項-d #:指定延遲時間間隔;-u UserName:僅顯示指定用戶的進程;-s COLUME:以指定字段進行排序;子命令:l:顯示選定的進程打開的文件列表;s:跟蹤選…

C#操作Excel

1.System.Data.DataTable連接數據庫 ExcelFile 是excel的完整路徑//OleDbConnection conExcel new OleDbConnection("ProviderMicrosoft.Jet.OLEDB.4.0;Data Source" ExcelFile ";Extended PropertiesExcel 8.0");//if (conExcel.State ConnectionStat…

android抓包工具——使用fiddler4在安卓手機抓包

Fiddler是一款非常流行并且實用的http抓包工具,它的原理是在本機開啟了一個http的代理服務器,然后它會轉發所有的http請求和響應,因此,它比一般的firebug或者是chrome自帶的抓包工具要好用的多。不僅如此,它還可以支持…

rust風化速度_反駁《Golang、Rust的執行速度的對照,讓人大吃一驚。》——不會別瞎說...

首先我無意引戰,但是今天看到某位同學的文章里有某些錯誤,不得不指正一下。1. 測量時間的時候我們使用 std::time::SystemTime::elapsed 即可,不必蹩腳的使用兩個 system 輸出出來還得手動算一下。(當然你說對Rust不熟也就無所謂了)2. 最重要…

css flexbox模型_代碼簡介:CSS Flexbox有點像旅行

css flexbox模型Here are three stories we published this week that are worth your time:這是我們本周發布的三個值得您關注的故事: CSS Flexbox explained by road tripping across the country: 7 minute read CSS Flexbox在全國各地的旅途中進行了解釋&#…

Sharepoint 2013設置customErrors

原文地址:http://www.cnblogs.com/renzh/archive/2013/03/05/2944309.html#3407239 一、首先設置IIS中的Web.config文件 找到對應的IIS應用程序目錄,如:C:\inetpub\wwwroot\wss\VirtualDirectories\3000 在此文件夾下包含一個web.config文件&…

ddt數據驅動

數據驅動原理 1.測試數據為多個字典的list類型 2.測試類前加修飾ddt.ddt 3.case前加修飾ddt.data() 4.運行后用例會自動加載成三個單獨的用例 5.測試結果: Testing started at 21:51 ...start!{username: selenium\xe7\xbe\xa4, psw: 232607095}end!start!{username…

http協議報文體_HTTP報文基本概念學習

HTTP是什么HTTP是HyperText Transfer Protocol的縮寫,中文就是超文本傳輸協議,所謂的超,是個學術用語,是基于某種事物增加了更多的信息維度,比如超像素xxx之類的.協議是什么,協議說白了就是約定,約定就是模板,就是表格,就和你去銀行辦手續一樣,客戶不知道要提供什么信息,銀行又…

yeoman_使用yeoman輕松創建Yeoman生成器

yeomanby Krist Wongsuphasawat克里斯特旺蘇帕薩瓦(Krist Wongsuphasawat) 使用yeoman輕松創建Yeoman生成器 (Creating Yeoman generators easily with yeoman-easily) I’ve used Yeoman to start many of my projects. It’s an amazing web scaffolding tool.我已經用Yeoma…

linux 輕量化圖形界面,YOXIOS 入門教程--基于Linux的 輕量化GUI圖形系統和硬件平臺(41頁)-原創力文檔...

YOXIOS --基于 Linux 的輕量化 GUI圖形系統和硬件平臺YOXIOS 入門教程基于 Linux 的 輕量化 GUI圖形系統和硬件平臺(V1.0 2020-05)提示:閱讀此文檔需要有一定的單片機開發、C/C編程語言、和使用 IDE開發工具的基礎YOXIOS (C) 2020 游芯科技第 1 頁 共 41 頁YOXIOS -…

第一階段 XHTML.定位樣式

一位初學php的隨堂筆記,記錄自己的成長! 1.清除浮動 (1)格式 clear:both清除兩邊|left清除左邊 right清除右邊 高度塌陷:父元素中的子元素都浮動,而父元素 沒有設置高,那父元素的高為0 (2)萬能清除(在父元素…

Canvas入門06-線段與像素邊界

我們知道,使用以下2個API可以繪制一條線段: moveTo(x, y) 向當前路徑中增加一條子路徑,該子路徑只包含一個點,此為線段的起始點lineTo(x, y) 將線段的下一個點加入子路徑中context.strokeStyle rgb(200, 200, 0); context.lineWi…

函數表達書-讀書筆記

定義函數的方式有兩種:一種是函數聲明,另一種就是函數表達式。函數聲明的語法如下: function functionName(arg0,arg1,arg2){//函數體 } 函數聲明,有一個重要特征就是函數聲明提升。也就是在執行代碼之前會先讀取函數聲明&#xf…

vue截取一個字符串_vue 截取字符串

let str abcdef;// 0str str.slice(0);//返回整個字符串 abcdefstr str.substring(0);//返回整個字符串 abcdefstr str.substr(0);//返回整個字符串 abcdef// 使用一個參數str str.slice(2);//截取第二個之后所有的字符 cdefstr str.substring(2);//截取第二個之后所有的…

網絡工程師需要哪些知識_成長工程師可以教給我們哪些工程知識

網絡工程師需要哪些知識I’ve been working as an engineer on the growth team at Airbnb for a couple of months now.我已經在Airbnb的成長團隊擔任工程師幾個月了。 Since I’m in an environment full of passionate developers, I wanted to share some of the good eng…

linux父進程循環,LINUX C 父進程建立多個子進程循環非堵塞回收列子

下面 代碼主要用于復習,留于此點擊(此處)折疊或打開/*************************************************************************> File Name: fork5.c> Author: gaopeng QQ:22389860 all right reserved> Mail: gaopp_200217163.com> Created Time: …

服務器自動運行python_在虛擬主機中安裝了python程序,如何使它在服務器上自動運行?...

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":3,"count":3}]},"card":[{"des":"IP地理位置庫(GeoIP Databases)是對運營商分…

模擬測試

題解: 3道水題。。 1。生活大爆炸版剪刀石頭布 忘記怎么打f[5][5]{}這個了。。 然后發現里面啥都不加也可以 加的話要是{} 2.送禮物 雙向搜 有點卡常數。。 我沒寫dfs 寫了dp求多少(好智障啊。。 訪問數組挺慢的所以應該速度差不多。。) lowb…