HardCoreGit
From CitconWiki
Revision as of 12:01, 27 September 2025 by Bicschneider (talk | contribs) (Adding link to Git Artifact)
- messiest git situation and how it was solved
- a while ago: project with sub modules 4 levels deep, not well supported at the time
- when to use git submodules?
- e.g. when depending on third party dependency code (googletest, zlib, ...)
- when 2 products use the same public interface - extract it into a submodule
- a submodule stores url, path, sha1 -> saves time when re-building
- git now supports sparse (partial) checkouts, filtered clone, large file storage (LFS)
- LFS helps where large binary files change a lot, "plain" git is already great for big files that don't change
- how to migrate from subversion to git when lots of deployment
- git tags?
- git describe relative to a tag - soft indicator of where in timeline you are
- timestamp of commit? - hard to get back to a specific commit from a given timestamp
- (not a sales pitch) consider getting external help, eficode has experience in this area
- pros and cons of monorepos
- split or not based on behaviour / branching strategy / verification
- is it good enough for what I need to do right now?
- cool git tricks that might be useful for the average user
- git diff filters to quickly see changes to checked in xls/zip/images... files (.gitattributes + .gitconfig section diff)
- git smudge filters, e.g. for dynamically changing line breaks to unix/windows, encrypting/decrypting sensitive data (also used for LFS)
Git Artifact: https://github.com/Praqma/git-artifact