The document discusses why software developers should learn Git and provides examples of how Git can be used for version control, tracking changes, finding bugs, and maintaining a strong workflow. Key benefits highlighted include maintaining multiple versions, reversing changes, finding who wrote specific lines of code, pinpointing when bugs were introduced, and enabling an offline workflow.
13. +45 36772 762
info@praqma.com
www.praqma.com
When was this bug introduced?
Binary search through your commit history
git bisect start
git bisect bad
git bisect good [known good commit]
Bisecting: 6 revisions left to test after this
[ecb6e1bc347ccecc5f9350d878ce677feb13d3b2] error handling on repo
Test if state is good or bad...
git bisect bad
Bisecting: 3 revisions left to test after this
[b047b02ea83310a70fd603dc8cd7a6cd13d15c04] secure this thing
I want it such that whenever my colleagues do something stupid - I’m protected
Git checkout to go investigate the ancient times
git revert to undo something in the ancient times
git reset to even change our workspace and our branches
This is *all* available locally
When was this change introduced
This might not necessarily be what we want, what if Mads just changed the indents?
Or what about this Bug
Could also run maven test or similar.
Just needs zero / non-zero exit cod.
I want to be able to work with the full power of my tools even if I’m offline, or to get local performance
And in Git this is the case
Power comes from collaborationwe have strong tools
git branching is extremely light
We can’t introduce a new tool, because I developers can’t figure it out, because they do not want to learn a new technology
Something about even Github, Bitbucket and GitLab, competitors join together around Git - they collaborate.
So no matter if you get a new student
Or people with experience from other companies, it is very likely that they know Git already
Git comes with both plumbing and porcelain, the things that you use and the things that work behind the scenes to give you the tools that you are using.
This is very strong in terms of enabling composability of your tools
Well, it might be hard to migrate everything, while you are continuously working.