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-subtreeThe 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.