Alright, apologies for a mouthful of a question. What I'm asking is basically this:
Say I have this git structure in a repo:
branch: D--E--F
/
Master: A--B--C
If I committed a very large binary in D, but then deleted it through another commit E, from what I understand of how Git works, this large binary will still be in the repo history and will be present in storage when someone else clones the repository or tries to work with this branch.
My question is, what happens if at this point I do a squash and merge to Master through GitHub then delete the branch? Now all the changes are squashed into one merge commit into Master. Because the large binary was added then removed, I believe it should not show up in this merge commit on Master at all, and therefore other devs working with Master won't have to worry about this cost. But I need to know for sure.
Also, since the branch was deleted, is there some sort of garbage collection in place that will automatically clean the repository of this large binary at some point in the future?
Essentially I want to know if it's alright to commit a large binary to my branch for testing without incurring costs for everyone down the line with this repository.