Embracing Freedom: Git vs GitHub in the Microsoft Era

3 minute read

Published:

In the world of software development, Git and GitHub are two popular tools that often go hand in hand. However, it’s essential to understand their distinctions and how they serve different purposes in the development workflow. This blog post aims to clarify the differences between Git and GitHub, their unique functionalities, and the scenarios in which each tool shines.

Git: The stupid content tracker

Git, a distributed version control system, has revolutionized the way software development teams collaborate and manage source code.

Git development commenced in April 2005 when Linus Torvalds, known for creating Linux, decided to create a new source-control management (SCM) system. Interestingly, Torvalds playfully explained that he named it “git” after himself, as he tends to name his projects in such a manner. The term “git” has multiple meanings depending on one’s interpretation:

  1. A random, pronounceable three-letter combination that does not conflict with any existing UNIX command. It could be considered a mispronunciation of “get,” although the relevance of this is debatable.
  2. Descriptive adjectives like “stupid,” “contemptible,” “despicable,” and “simple” from the dictionary of slang. One can choose the interpretation that suits their mood.
  3. In a positive light, “git” stands for “Global Information Tracker.” This definition implies that everything is working smoothly, bringing joy and illumination to the user.
  4. On the other hand, in moments of frustration, “git” may stand for “Goddamn Idiotic Truckload of Sh*t” when encountering issues or failures.

The source code itself humorously refers to Git as “the information manager from hell.” The motivation behind creating Git arose when the free license for the proprietary SCM, BitKeeper, was revoked for Linux kernel development in 2002. This incident prompted Torvalds to develop a new, efficient, and open-source SCM system, which eventually became Git.

Github: Join the Microsoft Empire, One Commit at a Time.

GitHub is a web-based hosting service for Git repositories. It provides a platform for collaboration, version control, and code management.

Although GitHub is a widely used platform for hosting Git repositories, it’s important to remember that GitHub is not Git itself. Git is a distributed version control system that can be hosted independently. If you prefer to have complete control over your repositories, you have the option to host your own Git service. You can find guidance on setting up your own server by referring to the link here.

Furthermore, there are alternative hosting platforms available, such as Bitbucket and GitLab, which offer similar functionalities to GitHub. These alternatives provide additional choices for hosting and collaborating on Git repositories.

Another option to explore is USB-based hosting, providing a portable solution for managing your Git repositories. This approach is particularly useful for carrying code changes between different computers. However, it’s important to be aware of a significant drawback: relying solely on a USB drive for hosting repositories puts your code and data at risk. If the USB drive is lost or misplaced, you could potentially lose your valuable work. While USB-based hosting may not be ideal for collaborative work, it serves as a convenient method for transferring code changes across machines.

Conclusion

Ultimately, the decision between Git, GitHub, or alternative hosting solutions depends on factors like collaboration requirements, customization needs, and individual preferences.

Remember, in the vast world of version control and code collaboration, the power lies in your hands. Choose the solution that best aligns with your values, goals, and vision for your projects, regardless of the corporate forces at play. Stay independent, stay innovative, and keep pushing the boundaries with your code.