Let’s Talk About Git’s Blemishes
We all are great admirers of Git; it’s a powerful, useful, and extremely popular platform kept in the toolbox of many-a-developer. We keep reading good stuff and adulation pieces about Git too. Here we are going to talk about the flip side, the shortcomings and blemishes of Git, as discussed in an essay by Peter Lundgren who is a self-confessed Git admirer.
Now this is going to be interesting; let’s hop to the key points!
Complexity
Git has a complex information model, comprised of directed acyclic graphs, commits, trees, blobs, branches, tags, and remotes. Git has a staging area, a stash, and a reflog, and a long list of 145 commands.
If you are a professional software developer, it is certainly a boon as it gives you so much to experiment with and a plethora of powerful features. But amateur developers might look elsewhere.
Access Control
As there is not much of access control on Git, the ability to restrict access to Git repositories is severely limited. Taking about Read Access, you can either clone the entire repository or none of it, and need to set read permissions per repository. Write access is not that limited as third party tools can add write access control to Git.
Obliterate
Obliterate is a really nice feature offered by Git as it helps you completely remove the confidential and critical files that may have accidentally committed to a repository. But once it’s made public, Git makes cryptographic guarantees that ensure that if someone tries to rewrite history to obliterate a file, every clone of that repository will notice at the next fetch. As there is a locally attached history in every clone, you may have lot to worry about all the working copies in addition to the central repository.
File Lock
Okay, Git doesn’t allow locking files, and doesn’t support as well. Though it is not required most of the times, sometimes locks are needed. For example, when a developer needs to take turns working on files. Locking a file can be the right solution.
No Revision Numbers
Git doesn’t have revision numbers, and has 40 character hashes instead. So, if you are used to appending a revision number to a build and having a meaningful sort, you may need to change your ways.
Nevertheless, these things may not affect and matter to most developers. For an elaborate word on Git’s shortcomings, you may read Peter Lundgren’s article here.
A message from John Furrier, co-founder of SiliconANGLE:
Your vote of support is important to us and it helps us keep the content FREE.
One click below supports our mission to provide free, deep, and relevant content.
Join our community on YouTube
Join the community that includes more than 15,000 #CubeAlumni experts, including Amazon.com CEO Andy Jassy, Dell Technologies founder and CEO Michael Dell, Intel CEO Pat Gelsinger, and many more luminaries and experts.
THANK YOU