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 0000000..3b407b4 Binary files /dev/null and b/attachments/Pasted image 20220608152709.png differ