2013-10-20 1 views
5

Ich bin neu in Git und ich habe einige Zweifel: Was ist der Unterschied von der Initialisierung eines Repository als persönlich oder als zentral?Git Extensions - Unterschiede zwischen Personal Repository und Central Repository

Ich denke, wenn ich als zentral einrichten, können alle Mitglieder meines Teams darauf zugreifen. Wenn ich jedoch als persönlich initialisiere, bin ich der einzige, auf den ich zugreifen kann (andere Mitglieder meines Teams können nicht darauf zugreifen). Habe ich recht?

Kann mir jemand bestätigen, wenn ich Recht habe und was ist der Unterschied zwischen persönlichen und zentralen Repositories in git? und für das zentrale Repository, was bedeutet bloß?

+4

Sie verwenden keine Standard-Git-Begriffe. Es gibt kein "zentrales" oder "persönliches" Repository. Git hat nicht einmal eine eingebaute Zugriffskontrolle. Meinst du das mit "--bare" initialisieren anstatt es zu benutzen? –

+0

Ich verwende Git Extensions sorry. Wenn ich also versuche, das Repository zu initialisieren, werde ich aufgefordert, es als persönliches (nicht blankes) oder zentrales (blankes) Repository zu initialisieren. In Klammern steht für central: (--bare --shared = all). – user304602

+1

In diesem Fall bedeutet ein leeres Repository nur, dass kein funktionierender Baum ausgecheckt ist. Alles, was auf der Festplatte gespeichert ist, ist der '.git'-Ordner und sein Inhalt. Ein reguläres Repository hat einen funktionierenden Baum ausgecheckt, was bedeutet, dass die im Repo gespeicherten Dateien bearbeitet und bearbeitet werden können. –

Antwort

7

Das nicht bare Repository ist das, was Entwickler verwenden - es hat eine Arbeitskopie ausgecheckt, d. H. Der Code ist direkt verfügbar.

Bei einem leeren Repository ist nur der Inhalt des Ordners .git vorhanden. Dies ist ideal für das Verschieben/Verschieben in/aus dem Repository, aber aus offensichtlichen Gründen nicht geeignet, um den Code direkt anzuzeigen oder am Code zu arbeiten.

Also, wenn Sie Dinge entwickeln wollen, wollen Sie ein nicht-bare-Repository. Wenn du zu einer anderen Maschine wechseln willst, erzeuge dort eine nackte und drücke von deiner nicht-nackten zur nächsten. Wenn Sie z.B. GitHub erstellt dieses nackte Repository nicht manuell - Sie erstellen es auf der Website (die normalerweise intern eine leere erstellt und die Zugriffskontrolle einrichtet) und richten sie dann als Remote lokal ein (die Adresse des Repositorys wird Ihnen so angezeigt) muss kopiert werden & einfügen es).

+0

So wie ich verstehe, ist es beim ersten Mal, wenn es der Ursprung ist, besser, ein bloßes Repository zu verwenden. Dann können die Teammitglieder sie in ihren lokalen Rechner als nicht-kahl klonen, um mit Pe zu arbeiten, Änderungen vorzunehmen, etc ... Schließlich, wenn ein Teammitglied seine Änderungen festschreiben will, um andere Mitglieder des Teams zu sehen Änderungen, er verpflichtet sich seine Änderungen. Habe ich recht? Sobald diese Änderungen vorgenommen wurden, können die anderen Mitglieder des Teams ihren geklonten Code aktualisieren, um diese Änderungen zu sehen. – user304602

+1

Im Allgemeinen beginne ich mit einem nicht-bare-Repository und arbeite dort selbstständig. Wenn es Zeit ist, sich mit anderen zu koordinieren, erstelle ich ein leeres blankes Repository auf einem Server und schiebe meine Arbeit bis zu diesem Punkt dorthin. –

3

Git ist verteilt. Wenn Sie anderen Personen erlauben, auf Ihr Repo zuzugreifen, können Sie direkt von Ihnen abrufen/ziehen. In diesem Fall brauchen Sie nicht einmal einen zentralen Repo und Master ist genau das, was Sie sich entscheiden.

Bare Repo sind Daten, die sich in Ihrem persönlichen .git-Repository befinden. In Ihrem Arbeitsordner haben Sie tatsächliche Daten (.c-Dateien, wenn Sie C-Programmierer sind) und .git-Ordner mit Repository, das Geschichte ist und alle anderen Daten, die git benötigt. Bare benötigt keine "ausgecheckten Daten", also sind es nur .git Dateien.

Bare Repo funktioniert genauso wie Ihr persönliches Repo und umgekehrt. Eine Ausnahme ist, wenn es darum geht, mit lokalen Daten umzugehen, weil das bloße Repo es tun muss, weil es es nicht braucht.

Es gibt mehrere Möglichkeiten, wie Sie Ihren Repo organisieren können. In jedem Fall hat jede Person ein lokales Repo.

Remote-Repositories sind alle leer, Sie können einzelne Remote-Repos haben oder jeder Member hat ein eigenes Remote-Repository, das Enyone jederzeit lesen kann. Diese letzte ist eine Version, die von Github verwendet wird, und die erste Option mit Einzelfernbedienung ist zentralisiert Repo (SVN wie Setup)

3

Ich halte die beiden Zustände für öffentlich und privat.

Privat.
Private ist nur für mich. Es ist nützlich, meinen Code in der Cloud zu haben, er ist gesichert und ich kann ihn auf jede Maschine laden, die ich verwende.

Öffentlich. Öffentlich ist für die Freigabe mit anderen Personen ("Mitbearbeiter"), deren Schlüssel Sie in das Projekt eingegeben haben.