Git-subtree help you working with subtree commands.
Using a subtrees config file, you can clone a project and create all subtree remotes with one command. It also helps working with push/pull commands, adding prefix and branch from config.
$ npm install -g git-subtree
The git-subtree configuration must be stored in subtrees.json file in the project root.
{
"mysubtree" : {
"localFolder": "subtrees/mysubtree",
"repository": "https://github.com/username/myrepo.git",
"branch": "master"
}
}
$ gitsbt <command>
$ gitsbt init [username]
This command creates all remotes from subtrees config and if it's a new project, where subtrees folders are still not created, will fetch from subtree remote and add the subtree.
$ gitsbt add <subtree> [username]
Adds git remote, fetch it and creates the local folder with subtree content.
$ gitsbt pull <subtree>
Pulls subtree changes from subtree remote.
$ gitsbt push <subtree>
Pushes subtree changes.
$ gitsbt commit <subtree> <message>
Commits subtree pending changes.