Git subproject notes

I want  to use a project as a tool-set for a big ole work project. The sub-project isn’t mine, I don’t have access to the code, I will probably need to update it as a component of my big project.

Some good reading here: https://hpc.uni.lu/blog/2014/understanding-git-subtree/

Some of my first tip-toe basic understanding.

# Straight subtree pulls the dependency into local directory
git subtree add --prefix CMB2 https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress.git master --squash

Apparently this can get better if you use the

git remote[\code] command.


# Setup dependency as a remote
git remote add -f Custom-Metaboxes-and-Fields-for-WordPress https://github.com/WebDevStudios/CMB2.git

# Fetch information about remote
git fetch Custom-Metaboxes-and-Fields-for-WordPress master

# Add remote to subdirectory and pull master branch
git subtree add --prefix=CMB2 --squash CMB2/master

# Update remote down into local directory
git subtree pull --prefix CMB2 CMB2 master --squash

With the remote added we should be able to update the dependency project by doing a subtree pull. Remember the sub-project is not mine but it will need updating.

git subtree pull --prefix Custom-Metaboxes-and-Fields-for-WordPress Custom-Metaboxes-and-Fields-for-WordPress master --squash