Title: Theory / Important / CS / Softw / VCS / Git / Submodule
Tags: seen_description

Fla: add foo
Effect: Clone foo and indicate that this directory contains a submodule
Page: https://git-scm.com/book/en/v2/Git-Tools-Submodules
Prefix: git submodule
Context: Inside a git project

Variable: .gitmodules
Meaning: a configuration file that stores the mapping between the project’s URL and the local subdirectory you’ve pulled it into
Page: https://git-scm.com/book/en/v2/Git-Tools-Submodules

Question: Rules about submodule url
Answer: Use url that anyone can have access to if possible, because it's used when you clone the project
Page: https://git-scm.com/book/en/v2/Git-Tools-Submodules
Variables: .gitmodules

Fla: submodule init
Effect: Initialize the local configuration file of submodule
Page: https://git-scm.com/book/en/v2/Git-Tools-Submodules
Prefix: git

Fla: update
Effect: Update all submodule so that they fetch data from their repo
Page: https://git-scm.com/book/en/v2/Git-Tools-Submodules
Prefix: git submodule

Fla: update --init --recursive.
Effect: Ensure to init and update recursively all submodules
Page: https://git-scm.com/book/en/v2/Git-Tools-Submodules
Prefix: git submodule

Fla: --remote
Effect: fetch updates from remote
Page: https://git-scm.com/book/en/v2/Git-Tools-Submodules
Prefix: git submodule update

Fla: --recurse-submodule
Effect: Apply update to all submodules
Page: https://git-scm.com/book/en/v2/Git-Tools-Submodules
Prefix: git submodule update

Name: A submodule of r
Definition: A git repo inside of r
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Chapter: 7
Section: 11
Variables: r a git repo

Instruction: [submodule "moduleName"]
  path = path
  ...
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Meaning: State  that at path there is a submodule, as described in ...
Chapter: 7
Section: 11
Context: .gitmodules
Identifier: moduleName

Fla: apply verb to submodules too
Effect: --submodule
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Prefix: git verb
Chapter: 7
Section: 11

Fla: --recursive
Effect: apply command recursively to submodule of submodule
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Prefix: git submodule
Chapter: 7
Section: 11

Fla: --init
Effect: initialize submodule before updating them
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Prefix: git submodule update
Chapter: 7
Section: 11

Variable: submodule.submoduleName.branch
Meaning: name of the branch tracked by submodule submoduleName
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Section: 11
Chapter: 7

Variable: status.submodulesummary
Meaning: Whether to show status of submodule when running `git status
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Context: git
Section: 11
Chapter: 7

Variable: submodule.recurse
Meaning: whether to use --recurse-submodules by default
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Context: git
Section: 11
Chapter: 7

Variable: .git/modules
Meaning: the git-repositories of the submodules.
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Name: A superproject
Definition: A repository that references repositories of other projects in its working tree as submodules.
Page: https://git-scm.com/docs/gitglossary
Context: git