I can hear you saying it.
" You're wrong, Delphi Code Monkey, Git
is a version control system.".
Hear me out.
Git is not a version control system, it's a directed acyclical graph management system that happens to be possible (sometimes) to do version control with.
Every time you find something Git can't do, that it ought to do, for all of the billion people who probably use it and know it well, if you keep searching for ways, however torturous, to
handle your issue, there is probably a way.
There is stashing, and submodules, branching, and merging, there are cherry picks, and there is rebasing, there are branching models and workflows like Git Flow. There's recursive submodule hell. There's local git cached state hell. There's ignore hell. There's Git's unix roots are showing on windows hell.
There's git config hell. There's unable to check out a branch because of local changes, and yet git status shows no files have changed, hell. If I sat here and thought back through the years of horrible things Git has done to me, one by one, I would probably scream.
There are a thousand fresh hells waiting for you. A thousand inscrutable (but usually googleable) error messages.
Here's the worst of the Git hells. Git lockin hell. Once you choose Git, well, it's Hotel California. You can "check out" but you can never leave. The world of software development is now, and probably always will be locked into some version of Git or other.
Git is not actually (much) of a version control system, but you're going to use it like it was, and you're going to learn to like it.
Weiterlesen...