From a963b9e1d29a04282da1b9788dc9e9a59cf510de Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Wed, 8 Jun 2022 15:35:31 +0800 Subject: [PATCH] vault backup: 2022-06-08 15:35:30 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/git/submodule.md attachments/Pasted image 20220608152709.png --- .obsidian/workspace | 8 +++--- .../03. Resources(資源)/git/submodule.md | 27 ++++++++++++++++++ attachments/Pasted image 20220608152709.png | Bin 0 -> 23338 bytes 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 attachments/Pasted image 20220608152709.png diff --git a/.obsidian/workspace b/.obsidian/workspace index 833bee7..d270669 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -10,7 +10,7 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/智慧指標.md", + "file": "02. PARA/03. Resources(資源)/git/submodule.md", "mode": "source", "source": true } @@ -23,7 +23,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/智慧指標.md" + "file": "02. PARA/03. Resources(資源)/git/submodule.md" } } } @@ -81,7 +81,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/智慧指標.md", + "file": "02. PARA/03. Resources(資源)/git/submodule.md", "collapseAll": true, "extraContext": true, "sortOrder": "alphabetical", @@ -125,8 +125,8 @@ }, "active": "94f0e8a81af6c9e2", "lastOpenFiles": [ - "02. PARA/03. Resources(資源)/C++17/智慧指標.md", "02. PARA/03. Resources(資源)/git/submodule.md", + "02. PARA/03. Resources(資源)/C++17/智慧指標.md", "02. PARA/03. Resources(資源)/git.md", "02. PARA/03. Resources(資源)/C++17/rvalue.md", "02. PARA/03. Resources(資源)/C++17/lvalue.md", diff --git a/02. PARA/03. Resources(資源)/git/submodule.md b/02. PARA/03. Resources(資源)/git/submodule.md index e69de29..6877d71 100644 --- a/02. PARA/03. Resources(資源)/git/submodule.md +++ b/02. PARA/03. Resources(資源)/git/submodule.md @@ -0,0 +1,27 @@ +## 建立 Git Submodule +``` +git submodule add [] +``` +新增之後,用 git status 會發現多了兩個東西需要 commit: +![[Pasted image 20220608152709.png]] + +第一個檔案 .gitmodules,裡面紀錄 submodule 的對應關係,內容大概像這樣: +``` +[submodule "RobotRunQA"] + path = RobotRunQA + url = git@github.com-logi:JuiwenHsu/RobotRunQA.git +``` + +接下來剩3個步驟: +1. 提交 `.gitmodule`:`git add .gitmodule ; git push origin master` +2. 跟git說我們有新增一個submodule:`git submodule init` +3. 把submodule pull下來:`git submodule update` + +## Clone repository and submodule +當clone一個有submodule的repo的時候,我們還需要 `git submodule init` 跟 `git submodule update` ,例如: +``` +git clone https://xxx/xxx.git +cd xxx +git submodule init +git submodule update +``` \ No newline at end of file diff --git a/attachments/Pasted image 20220608152709.png b/attachments/Pasted image 20220608152709.png new file mode 100644 index 0000000000000000000000000000000000000000..3b407b4659fe8771914b38150bcf48e3c7cc0cc5 GIT binary patch literal 23338 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