Git jest jednym z tych narzędzi, które jest tak proste w użyciu, że często nie odkrywaj wielu niuansów. Wiltowałeś klonowanie repozytorium z sieci, a także o tym. Jeśli wprowadzisz zmiany, być może śledzić je, jak również, jakby naprawdę uprzejmy możesz wyprodukować żądanie, aby przedstawić powrót do projektu. Jednak jest wiele więcej, możesz zrobić więcej. Na przykład, czy rozumiesz, że Git może śledzić kolboratywne dokumenty Word? Lub Zarządzaj dane startowe w kilku pudełkach Linuksa?
Git należy do gospodarstwa domowego oprogramowania produktów, które wykonują kontrolę wersji (lub wersji). Koncepcja polega na tym, że możesz ustanowić aplikację oprogramowania (na przykład), a także śledzić każdą wersję. Świetne systemy mają przepisy dotyczące umożliwienia kilku osób pracować w pracy jednocześnie. Zazwyczaj jest również pewna metoda podziału pracy na różne części. Na przykład możesz oddzielić, aby ustanowić wersję produktu na inny rynek lub wypróbować funkcję eksperymentalną bez łamania typowego rozwoju. W niektórych przypadkach, ostatecznie przyniesiesz, że powraca do linii podstawowej.
Chociaż w następnej raty, dostarczę ci kilka dziwnych wykorzystywania dla git, możesz odkryć przydatne, to publikowanie jest głównie historią dokładnie tak, jak przyszedł Git. Postęp open source jest rozumiany dla wojen płomień, a także co najmniej kilka w tej opowieści. Jak również w prawdziwej modzie hakerskiej, bohatera historii decyduje, że nie lubi narzędzia, których korzystają, więc … Cóż, co byś zrobił?
Wojna kontrolerów wersji
Historycznie, wielką aplikacją oprogramowania, która ta funkcja miała program myśniowy centralny serwer. Oznacza to, że kod mieszkał gdzieś w sieci. Kiedy chciałeś pracować nad danymi, sprawdzisz to. To działało tylko wtedy, gdy nikt inny nie sprawdził. Oczywiście, jeśli odniosłeś sukces, nikt inny nie może sprawdzić swoich danych, dopóki ich nie odłożysz. Jeśli byłeś z dala od sieci, jak i chciałeś pracować nad czymś, a także źle.
Jednak bardziej współczesne narzędzia relaksuje kilka z tych ograniczeń. Idealnie, narzędzie może zapewnić regionalną kopię pracy, a także natychmiast zachować inne kopie na zaktualizowaną zmianę zmian. Ta metoda nie było centralnej kopii do stracenia, możesz pracować w dowolnym miejscu, a także nie musiało koordynować pracy na różnych rzeczach z innymi kolegami z drużyny.
Zamknięte narzędzie
Niezwykle duży zespół rozproszony ustanawia jądro Linuksa. Pod koniec 1998 r. Zespół miał ciężko z zarządzaniem rewizją. Deweloper jądra, [Larry Mcvoy], miał biznes, który stworzył skalowalną wersję rozproszoną Zarządzanie produktem o nazwie Bitkeeper. Chociaż był to produkt przemysłowy, istniał zezwolenie na sąsiedztwo, które umożliwiło Ci wykorzystanie go tak długo, jak nie pracowałeś na rynku, podczas gdy korzystałeś z produktu, a następnie przez rok. Ograniczenie stosowane zarówno do konkurencji przemysłowej, jak i otwartej. Chociaż produkt utrzymywał większość danych na maszynie, był składnik serwera, więc firma mogłaby, w rzeczywistości śledzić swoje wykorzystanie produktu.
W 2002 r. Zespół jądra Linuksa obejmował bitkeeper. [Linux Torvalds] był wśród zwolenników nowego systemu. Jednakże, inni projektanci (i zainteresowane uroczystości, takie jak [Richard Stallman] zainteresowanych wykorzystaniem własnego narzędzia do ustalenia open source. Bitmover – Biznes za bitkeeper – dodał kilka bramek, aby zapewnić, że projektanci, którzy chcieli korzystać z innego systemu, do niektórych zakres.
W większości rzeczy wyciąga tylko sporadyczne potyczki płomieniowe wybuchające tutaj, a także tam. To jest aż do 2005 r., Kiedy firma [McVoy] ujawniła, zaprzestała wolnej wersji bitkeepera. Pozornie powód był z powodu indywidualnej ustanawiania klienta, który dodał funkcje z wersji przemysłowej do bezpłatnego.
Nowe narzędzia
W rezultacie dwa miejsca pracy obróciły się tak bardzo, jak ustanawiają zamiennik. Mercurial był oczywiście jednym, a Git, był drugi. [McVoy] skontaktował się z klientem przemysłowym wymagającym, że ich pracownik [Bryan O’sullivan] przestaje przyczynić się do Mercurial, który zrobił. Oczywiście zarówno rtęci, jak i Git przybyli do Fruition, z Git kończącym nie tylko wersja Kernel Drużyna Zarządzaj systemem, jednak system na wiele innych osób.
Narodziny git.
[Linus] spojrzał na jednorazowy system półek. Nikt w tym czasie nie miała wydajności ani funkcji, które pasowałoby do zespołu rozwoju jądra. Zaprojektował Git do szybkości, prostoty, a także zapobieganie dokładnie tej samej rzeczy, które CVS (wyczerpany program zarządzania wersją).
Początkowy postęp jest podany, aby wziąć kilka dni. Ponieważ wersja 1.0 wersja pod koniec 2005 r. Aplikacja oprogramowania spowita więcej niż jedna główna strona internetowa, a także zakończyła się systemem opcji dla wielu deweloperów, zarówno open source, jak i handlowej.
Repo man.
Wykresy przepływu pokazuje trójnikK, Dokładnie jak Git obsługuje świetne oferty dewelopera w jednym czasie: repozytoria lub repos. Każdy projektant ma ogólną kopię całej pracy (repozytorium regionalne). W rzeczywistości, jeśli nie dbasz o udostępnianie, nawet nie wymagasz zdalnego repozytorium. Twoja osobista repo jest tak samo pełni funkcjonalna robota GIT, jak każdy inny, nawet zdalny, który jest najprawdopodobniej na Github lub jeszcze jeden serwer sieciowy. Tworzysz swoje modyfikacje w katalogu roboczym, na scenie, co jesteś “zrobione” z (na razie), a także poświęcić go swoim repo. Kiedy nadszedł czas, naciskasz swoje modyfikacje tak samo jak zdalne, jak i zostaje połączone z zmianami innych osób.
Co ciekawe, Git nie tylko działa na danych tekstowych (pokażę ci więcej o tym w następnej raty). Działa jednak w najlepszych danych dotyczących danych tekstu, ponieważ jest mądry, wystarczy, aby zauważyć modyfikacje w danych, które się nie pokrywają, a także automatycznie łączą je automatycznie. Więc jeśli naprawię błąd, w tym Pętla w jakimś kodzie, a także modyfikujesz niektóre komunikaty o błędach, Git będzie miła wszystko, gdy nasze łączy się.
Oczywiście nie zawsze działa. Prowadzi do konfliktów, które musisz ręcznie rozwiązać. Jednakże, chyba że masz dwie osoby, dotykając precyzyjnych dokładnych tych samych części kodu, Git zwykle ma ładne zadanie rozwiązywania różnicy. Oczywiście dane binarne zazwyczaj nie dostają tego luksusu. Nie możesz precyzyjnie diffować ikonę, aby zobaczyć, że osoba osoba narysowała wąsy na nim, a także jedna osoba zmieniła tło zielony. Jednak technicznie, jeśli możesz zrozumieć algorytm, możesz go dodać do Git.
Rozwiązanie
Jeśli chcesz zwiększyć swoje zrozumienie Git Beyond, tylko robiąc klon, możesz zrobić gorzej niż 15 minut na tym samouczku. Jeśli już rozumiesz podstawy, możesz odkryć kilka nowych rzeczy w bardziej zaawansowanym samouczku lub sprawdzać film o rozmowie [Linus] pod warunkiem Git A podczas tyłu.
W 2016 r., Nawiasem mówiąc, bitkeeper ujawnił, przenieśli się do pozwolenia Apache, co oczywiście jest otwarte źródło. Rodzaj ironicznego, prawda?
Kredyty zdjęć:
Tux Soldier, przez [Sharkey], CC przez-SA 3.0
[Linus Torvalds] z Linux Magazine, CC By-SA 3.0
FlowCchart by [LBHTW], CC przez-SA 3.0