Basic commands about subtree
git subtree add --prefix=<prefix> <commit>
git subtree add --prefix=<prefix> <repository> <ref>
git subtree pull --prefix=<prefix> <repository> <ref>
git subtree push --prefix=<prefix> <repository> <ref>
git subtree merge --prefix=<prefix> <commit>
git subtree split --prefix=<prefix> [OPTIONS] [<commit>]
1. Add subtree
For example
git remote add -f ios git@github.com:zhihuitang/stockholm-rail-ios.git
-f
: Pull immediately after adding
Add the library’s remote as if it was my own. This will significantly simplify the commands, so that you don’t have to specify the repository’s address all the time
git subtree add --prefix=ios ios master
Use subtree add
to add that repo’s code into a path in the parent’s project, specified by prefix. The last parameter, master, is the branch you are pulling code from (my-subtree/master).
2. Pull sub-repo from remote
git subtree pull —prefix=ios ios master [—-squash]
Pull master branch of sub-repo from remote.
3. Push sub-repo to remote
If you changed something in sub-repo folder and want to push the changes to remote sub-repo, you can do as follows:
git subtree push --prefix=ios ios master [--squash]