HISTORY OF GIT

Git is one of those tools that is so simple to use, that you frequently don’t discover a great deal of nuance to it. You wind up cloning a repository from the Web as well as that’s about it. If you make changes, perhaps you track them as well as if you are truly polite you may produce a pull request to provide back to the project. however there’s a great deal more you can do. For example, did you understand that Git can track collaborative Word documents? Or manage your startup data across several Linux boxes?

Git belongs to a household of software application products that do revision (or version) control. The concept is that you can establish software application (for example) as well as keep track of each revision. great systems have provisions for enabling several people to work on a job at one time. There is likewise usually some method to split a job into different parts. For example, you may split off to establish a version of the product for a different market or to try an experimental function without breaking the typical development. In some cases, you’ll ultimately bring that split back into the primary line.

Although in the next installment, I’ll provide you some strange utilizes for Git you may discover useful, this publish is mainly the story of exactly how Git came to be. open source advancement is understood for flame wars as well as there’s at least a few in this tale. as well as in true hacker fashion, the hero of the story decides he doesn’t like the tools he’s utilizing so… well, what would you do?

War of the version Controllers

Historically, a great deal of software application that did this function had a central-server mindset. That is, the code lived on the network somewhere. When you wished to work on a data you’d inspect it out. This only worked if nobody else had it inspected out. Of course, if you were successful, nobody else might inspect out your data up until you put them back. If you were away from the network as well as you wished to work on something, as well bad.

However, more contemporary tools relax a few of these restrictions. Ideally, a tool might provide you a regional copy of a job as well as immediately keep other copies updated as you release changes. This method there was no central copy to lose, you might work anywhere, as well as you didn’t have to coordinate working on different things with other teammates.

Closed Tool

A extremely big distributed team establishes the Linux kernel. By late 1998 the team was having a hard time with revision management. A kernel developer, [Larry McVoy], had a business that created a scalable distributed version manage product called BitKeeper. Although it was a industrial product, there was a neighborhood permit that enabled you to utilize it as long as you didn’t work on a contending tool while you were utilizing the product as well as for a year thereafter. The limitation used to both industrial as well as open source competition. Although the product kept most data on your machine, there was a server component, so the business could, in fact, track your usage of the product.

In 2002, the Linux kernel team embraced BitKeeper. [Linux Torvalds] was among the proponents of the new system. However, other designers (and interested celebrations like [Richard Stallman] were concerned about utilizing a proprietary tool to establish open source. BitMover — the business behind BitKeeper — added some gateways to ensure that designers who wished to utilize a different system could, to some kapsam.

For the most part, things quieted down with only occasional flame skirmishes erupting right here as well as there. That is up until 2005 when [McVoy’s] business revealed it would discontinue the free version of BitKeeper. Ostensibly the reason was because of a individual establishing a client that added features from the industrial version to the free one.

New Tools

As a result, two jobs spun as much as establish a replacement. Mercurial was one as well as Git, of course, was the other. [McVoy] contacted a industrial client demanding that their worker [Bryan O’Sullivan] stop contributing to Mercurial, which he did. Of course, both Mercurial as well as Git came to fruition, with Git ending up being not only the kernel team’s version manage system however the system for a great deal of other people as well.

Birth of Git

[Linus] did look for one more off-the-shelf system. None at the time had the performance or the features that would fit the kernel advancement team. He designed git for speed, simplicity, as well as to prevent doing the exact same things that CVS (a reviled version manage program) did.

Initial advancement is stated to have taken a few days. since the version 1.0 release in late 2005, the software application has spawned more than one major website as well as has ended up being the system of option for many developers, both open source, as well as commercial.

Repo Man

The flow chart shows the tricGit’in tam olarak nasıl geliştiricinin geliştiricinin bir kerede ele aldığını tam olarak nasıl ele alır: havuzlar veya repolar. Her tasarımcı, tüm işin genel bir kopyası vardır (bölge deposu). Aslında, paylaşmayı umursamıyorsanız, uzak bir depoyu bile gerekmez. Kişisel Repo’nuz, başkalarının, hatta GitHub’da ya da bir ağ sunucusunda olası olan uzak olanı bile, başka biri olarak tam özellikli bir GIT işidir. Değişikliklerinizi çalışma dizininde yapın, (şimdilik “ile (şimdilik” nin (şimdilik “olduğunuzu, repo’nuza adadın. Zaman olduğunda, modifikasyonlarınızı, diğer insanların değişiklikleriyle birleştiği kadar uzaklaştırır.

İlginç bir şekilde, Git sadece metin verileri üzerinde çalışmaz (bir sonraki taksitte size daha fazla göstereceğim). Bununla birlikte, metin verilerinin en iyi şekilde çalışması, çünkü bunları otomatik olarak birleştirmeyen verilerdeki değişiklikleri farketmek için yeterlidir. Öyleyse, bazı kodlarda bir hata için bir hata için bir hatayı onarırsam, bazı hata mesajlarını değiştirirken, Git, kod birleştiğinde her şeyi çözer.

Bu her zaman işe yaramaz, elbette. Bu, manuel olarak çözmek zorunda olduğunuz çatışmalara yol açar. Ancak, kodun tam olarak aynı bölümlerine dokunmadan iki kişiniz olmadıkça, Git genellikle farkı çözmek için güzel bir görev yapar. Tabii ki, ikili veriler genellikle bu lüks alamaz. Bir kişi kişisinin bunun yanı sıra bir kişi daha bir bıyığı çektiğini görmek için tam olarak fark edemezsiniz. Bununla birlikte, teknik olarak, algoritmayı bulabilirseniz, onu GIT’ye ekleyebilirsiniz.

Dengo

Git’in sadece bir klonu yapmanın ötesinde anlayışınızı artırmak istiyorsanız, bu eğitimde 15 dakika geçirmekten daha kötü olabilirsiniz. Temelleri zaten anlıyorsanız, daha gelişmiş bir eğitimde bazı yeni şeyler keşfedebilir veya GIT A’yı Git’te verilen bir Talk [Linus] videosunu inceleyebilirsiniz.

Bu arada, Biteker, elbette açık kaynaklı olan Apache iznine geçeceğini ortaya koydu. ironik türü, değil mi?

Fotoğrafa katkı verenler:

Tux Soldier, [Sharkey] tarafından, CC BY-SA 3.0

[Linus Torvalds] Linux Magazine, CC BY-SA 3.0

Flowchart [LBHTW] tarafından, CC BY-SA 3.0

Leave a Reply

Your email address will not be published.