What is Git?
What is Git?
Everyone who is interested in software knows that as our software, or more precisely, our projects grow, they become harder to track and enter a more complex structure, making it extremely difficult to control the project. Especially for projects beyond a certain level, team collaboration is required and it becomes even harder to control each team member’s contributions to the project.
Git is a version control system developed as a solution to the problems described above for your projects.
What are the Features of Git?
Git is the most widely used version control system in the world.
Git is a free and open-source project.
Major brands like GitHub and GitLab have also been developed using the Git system.
It uses a distributed version control system, so your projects are stored both on a remote server and in the working environment.
A new project version can be created in the working area after each update.
It provides a suitable structure for teamwork thanks to project files shared among teams.
History of Git
The emergence of Git began when a large number of Linux kernel developers preferred the previous version control system, BitKeeper, for project management.
Andrew Tridgell interfered with the BitKeeper protocol using some reverse engineering methods, but when Larry McVoy, who held the copyright to BitKeeper, refused free use of BitKeeper and took the issue to legal platforms, the use of BitKeeper was abandoned, thus laying the foundations for Git.
Back then, Linus Torvalds wanted a distributed version control system similar to the BitKeeper application, but none of the existing free solutions on the market met Torvalds’ expectations, especially in terms of performance.
Torvalds exemplified this issue by addressing the version control systems on the market; he emphasized that if it took 30 seconds to apply a patch and update all related data structures, and if this process had to be repeated 250 times to deliver all these changes to other developers, this would pose an obstacle for the development of the Linux kernel. Torvalds’ goal was to reduce this time to three seconds.
Besides this, Torvalds had other design criteria:
The example of CVS should be considered regarding what not to do; if undecided, one should do exactly the opposite of the solution offered by CVS.
It should support a workflow similar to BitKeeper, allowing distributed work over the network.
There should be very strict security structures to prevent data loss due to malicious code or misuse.
Except for Monotone, none of the version control systems available on the market at the time met these three criteria; and when it came to performance, Monotone was also eliminated.
Thus, immediately after the release of the Linux kernel version 2.6.12-rc2, Torvalds decided to write his own version control system.
Source: Wikipedia


Yorum Gönder