Różnica między Git a GitHub

Odpowiedzi:

366

Git to system kontroli wersji, narzędzie do zarządzania historią kodu źródłowego.

GitHub to usługa hostingowa dla repozytoriów Git.

Więc to nie to samo: Git to narzędzie , GitHub to usługa dla projektów korzystających z Git .

Aby dostać swój kod do GitHub, zajrzyj tutaj .

schlicht
źródło
22
Co najważniejsze, GitHub jest konsekwencją istnienia git, a nie jedyną usługą hostingową.
Jonas Schäfer
83
Ponadto nie musisz używać zdalnej usługi, takiej jak github, jeśli wszystko, czego potrzebujesz, to kontrola wersji - lokalny git jest do tego odpowiedni. Zdalne repozytoria służą do tworzenia kopii zapasowych i współpracy.
Thilo,
3
Pamiętaj, że możesz utworzyć zdalne repozytorium git na wielu serwerach internetowych, takich jak webfaction vs heroku. Konfiguracja githuba jest nieco trudniejsza, ale tańsza dla dużych zespołów.
Adrian Lopez,
1
sprawdź to porównanie, aby dowiedzieć się więcej o Git Hosting Services. git-tower.com/blog/git-hosting-services-compared
Junaid
Myślę, że użycie słów „narzędzie” i „usługa” jest dwuznaczne dla osób niezaznajomionych z danym zagadnieniem (tj. Osób, które przeglądają to pytanie). Być może „Git jest technologią do zarządzania kodem źródłowym, podczas gdy GitHub jest jednym z wielu produktów, które zapewniają git jako usługę dla kodu, który z nimi hostujesz”.
Rashad Saleh
68

W analogii SVN Git zastępuje SVN, podczas gdy GitHub zastępuje SourceForge: P

Jeśli Twój projekt jest nowy, możesz nadal zatwierdzać zmiany w lokalnym Git, a następnie możesz przesyłać dalej do GitHub. Musisz dodać repozytorium GitHub jako „zdalne repozytorium” w konfiguracji Git.

Wydaje się, że mają coś dla użytkowników Eclipse: http://eclipse.github.com/

W przeciwnym razie, jeśli dopiero zaczynasz korzystać z Git: http://git-scm.com/book

bakkal
źródło
Jakie są alternatywy dla korzystania z GITHUB online?
zmienna
@variable Masz na myśli coś takiego jak lokalne repozytorium Git lub własny serwer Git, taki jak GitLab?
bakkal
65

Co to jest Git :

„Git to darmowy i rozproszony system kontroli wersji oparty na otwartym kodzie źródłowym , zaprojektowany z myślą o szybkiej i wydajnej obsłudze wszystkich małych i bardzo dużych projektów”

Git to rozproszony system kontroli wersji peer-peer. Każdy węzeł w sieci jest urządzeniem równorzędnym, przechowującym całe repozytoria, które mogą również działać jako rozproszone kopie zapasowe dla wielu węzłów. Nie ma konkretnej koncepcji centralnego serwera, chociaż węzły mogą być pozbawione głowy lub „puste”, przyjmując rolę podobną do centralnego serwera w scentralizowanych systemach kontroli wersji.

Co to jest GitHub :

„GitHub to internetowa usługa hostingowa repozytorium Git , która oferuje wszystkie funkcje rozproszonej kontroli wersji i zarządzania kodem źródłowym (SCM) Git, a także dodaje własne funkcje.”

Github zapewnia kontrolę dostępu i kilka funkcji współpracy, takich jak strony wiki, zarządzanie zadaniami oraz śledzenie błędów i żądania funkcji dla każdego projektu.

Nie potrzebujesz GitHub do korzystania z Git.

GitHub (i każdy inny lokalny, zdalny lub hostowany system) może być peerami w tych samych rozproszonych repozytoriach z wersją w ramach jednego projektu.

Github pozwala:

  • Udostępnij swoje repozytoria innym osobom.
  • Uzyskaj dostęp do repozytoriów innych użytkowników.
  • Przechowuj zdalne kopie swoich repozytoriów (serwery github) jako kopie zapasowe lokalnych kopii.
BugShotGG
źródło
powiedz mi, dlaczego git nazywa się rozproszonym? tylko dlatego, że zmiana sklepu git ustawiona na lokalnym komputerze? wyjaśnij znaczenie tego rozłożonego słowa, ponieważ jestem nowy w Git. dzięki
Mou
1
Czy potrzebujesz Git, aby korzystać z GitHub?
user3187724
25

Git - narzędzie kontroli wersji, na którym zbudowano GitHub.

GitHub - Nasza firma i nazwa naszego oprogramowania. Tworzymy oprogramowanie i strony internetowe, które pomagają w miłej interakcji z repozytoriami Git.

GitHub.com - witryna, na którą się logujesz, aby przeglądać repozytoria online.

GitHub Desktop - aplikacja, którą można zainstalować na komputerze, aby pomóc zsynchronizować kod lokalny z GitHub.com.

źródło: https://guides.github.com/introduction/getting-your-project-on-github/

użytkownik2340356
źródło
15

Istnieje wiele oczywistych różnic między Git a GitHub .

Sam Git naprawdę koncentruje się na podstawowych zadaniach kontroli wersji. Utrzymuje popełnić historię, pozwala odwrócić zmiany poprzez resetu i zawróconych poleceń, a to pozwala na kodzie podzielić z innymi deweloperami za pomocą komend pchają i ciągną. Myślę, że są to podstawowe funkcje, których każdy programista chce od narzędzia DVCS.

Tabela porównawcza Git a GitHub

Z Gitem nie ma pełzania w zasięgu

Ale jedną rzeczą w Git jest to, że tak naprawdę jest on po prostu skupiony na kontroli kodu źródłowego i nic więcej. To niesamowite, ale oznacza również, że w narzędziu brakuje wielu funkcji wymaganych przez organizacje. Na przykład nie ma wbudowanych funkcji zarządzania użytkownikami do uwierzytelnienia, kto łączy i zatwierdza kod. Integracja z takimi rzeczami, jak Jira lub Jenkins, jest pozostawiona programistom, aby opracowali rozwiązania takie jak haki. Zasadniczo istnieje mnóstwo miejsc, w których można zintegrować funkcje. Właśnie tam wchodzą organizacje takie jak GitHub i GitLab.

Dodatkowe funkcje GitHub

Podstawową „wartością dodaną” GitHub jest to, że zapewnia platformę opartą na chmurze dla Git. To samo w sobie jest niesamowite. Ponadto GitHub oferuje również:

  • proste śledzenie zadań
  • aplikacja komputerowa GitHub
  • edycja plików online
  • zasady ochrony oddziału
  • funkcje żądania ściągania
  • narzędzia organizacyjne
  • limity interakcji dla pasjonatów
  • obsługa emoji !!! : octocat:: +1:

Więc GitHub naprawdę dodaje polerowanie i udoskonalanie do już popularnego narzędzia DVCS.

Konkurenci Git i GitHub

Czasami, jeśli chodzi o rozróżnienie między Git i GitHub, myślę, że dobrze jest przyjrzeć się, z kim konkurują. Git konkuruje w samolocie z narzędziami takimi jak Mercurial, Subversion i RTC, podczas gdy GitHub jest bardziej w przestrzeni SaaS konkurując z dostawcami chmur, takimi jak GitLab i BitBucket Atlassiana.

Nie wymaga GitHub

Jedną rzeczą, o której zawsze lubię przypominać, jest to, że nie potrzebujesz GitHub, GitLab ani BitBucket, aby korzystać z Git. Git został wydany w 2005 roku? GitHub pojawił się na scenie dopiero w 2007 lub 2008 roku, więc duże organizacje przeprowadzały rozproszoną kontrolę wersji za pomocą Git na długo przed pojawieniem się dostawców hostingu w chmurze. Więc Git jest w porządku sam z siebie. Nie wymaga usługi hostingowej w chmurze, aby była skuteczna. Ale jednocześnie posiadanie dostawcy PaaS z pewnością nie zaszkodzi.

Praca z GitHub Desktop

Nawiasem mówiąc, wspomniałeś o niedopasowaniu między repozytoriami na koncie GitHub a lokalnymi repozytoriami? To zrozumiałe. Dopóki nie połączysz się i nie wykonasz ściągania ani pobierania, lokalne repozytorium Git nie wie o zdalnym repozytorium GitHub. Powiedziawszy to, GitHub zapewnia narzędzie zwane pulpitem GitHub, które pozwala połączyć się z GitHub z klienta stacjonarnego i łatwo załadować lokalne repozytoria Git do GitHub lub przenieść repozytorium GitHub na lokalną maszynę.

GitHub Desktop

Narzędzie nie robi na mnie dużego wrażenia, ponieważ kiedy znasz Gita, te rzeczy nie są trudne w powłoce Bash, ale jest to opcja.

Walka między Git i GitHub

Cameron McKenzie
źródło
9

W prosty sposób możemy stwierdzić poniżej, jaka jest różnica między git i git hub a VSTS.

git : - Traktuj git jako silnik / technologię, aby uzyskać kontrolę wersji nad wersją naszego projektu. W przeciwieństwie do TFS (ponownie scentralizowanej kontroli wersji źródłowej) git jest technologią rozproszonej kontroli wersji. Oznacza to, że git tak naprawdę nie wymaga posiadania żadnego serwera. Dzięki technologii git możemy stworzyć własną maszynę lokalną jako repozytorium kodu źródłowego, które nie musi mieć zawsze scentralizowanego serwera (na dużą skalę może mieć serwer Microsoft do przesyłania i przechowywania kodu źródłowego naszego projektu). Jednak w przypadku kontroli wersji w rodzaju SVN i TFS konieczne jest powiązanie z nią serwera.

Na przykład, jeśli jestem niezależnym programistą i podlegam bezpośrednio mojemu klientowi i nie jest zaangażowany żaden inny programista, muszę zachować kontrolę nad wersją mojego kodu, aby przywrócić (dowolną wersję) i zatwierdzić moje kody, a ja nie Mam budżet na serwer i nie mam czasu na instalację i używanie innego serwera na moim komputerze jako serwera TFS i klienta TFS. Zatem optymalnym sposobem jest zainstalowanie silnika git i użycie mojego komputera lokalnego jako repozytorium do kontroli wersji przez git.

GitHub : - jak powiedziałem wcześniej git jest technologią używaną z niektórymi poleceniami / powłokami, tzn. Git nie ma tylko interfejsu użytkownika. GitHub to produkt online lub repozytorium online, które wykorzystuje technologię git do swoich procesów i uzyskuje kontrolę wersji wraz z innymi funkcjami, takimi jak śledzenie błędów, zarządzanie projektami, zarządzanie zgłoszeniami pomocy itp. Innymi słowy, Git Hub to opakowanie oparte na technologii git z interfejsem użytkownika i innymi funkcjami innej firmy, w rzeczywistości jest to produkt należący do kogoś lub grupy opartej na technologii git, w którym git jest oprogramowaniem typu open source i nie może być sprzedawany produkt.

VSTS : - VSTS to produkt firmy Microsoft do repozytorium online, utrzymujący kontrolę wersji źródłowej, który może być traktowany jako alternatywa dla git hub. Od czasu Microsoft, VSTS obsługuje zarówno technologię git, jak i TFS (kontrola wersji fundacji TFVC-team). Ponieważ TFS to kolejny stary produkt firmy Microsoft, który umożliwia kontrolę wersji. Stopniowo zakładam, że VSTS stopniowo zrzuci TFS, ponieważ git jest wiodącą technologią w tym obszarze i jest open source.

Rinoy Ashokan
źródło
7

W prostym angielskim:

  1. Wszyscy oni kontrolują źródła, jak wszyscy wiemy.
  2. Analogicznie, jeśli Git jest samodzielnym komputerem, to GitHub to sieć komputerów połączona siecią z dzwonkami i gwizdkami.
  3. Tak więc, chyba że otworzysz dział GitHub i wyraźnie powiesz VSC lub dowolnemu edytorowi, aby korzystał z GitHub, zobaczysz tam swój kod źródłowy, w przeciwnym razie będą one tylko na dole, - twój komputer lokalny.
Jeb50
źródło
0

Git- Git jest oprogramowanie do kontroli wersji, aby zainstalować w systemie lokalnym. Dla osoby pracującej tylko nad projektem Git okazuje się doskonałym oprogramowaniem.

GitHub - jak wspomniano wcześniej, Git to system kontroli wersji, który śledzi zmiany kodu, podczas gdy GitHub to internetowa usługa hostingowa repozytorium kontroli wersji Git. Zapewnia wszystkie funkcje rozproszonej kontroli wersji i zarządzania kodem źródłowym (SCM) Git, jednocześnie dodając kilka własnych funkcji.

Ankit Kumar Rajpoot
źródło
0

Krótko mówiąc, Git to system kontroli wersji, który pozwala zarządzać i śledzić historię kodu źródłowego. GitHub to oparta na chmurze usługa hostingu, która pozwala zarządzać repozytoriami Git. Jeśli masz projekty typu open source, które używają Git, GitHub ma na celu pomóc Ci lepiej nimi zarządzać.

Dennis
źródło
-3

Github jest wymagany, jeśli chcesz współpracować między programistami. Jeśli jesteś jednym współautorem, wystarczy git, regularnie wykonuj kopię zapasową kodu

Naprawiacz
źródło