Frage

Nach einem Repo auf Github einrichten, scheint es zwei Möglichkeiten, um diese Repo in einem lokalen Repo zu ziehen.

Zum einen kann ich ein Verzeichnis erstellen, die eine leere Repo initialisieren, eine Remote hinzufügen und dann ziehen sie von der Fernbedienung.

> mkdir "exampleProject"
> cd "exampleProject"
> git init
> git remote add origin git@github.com:exampleUser/exampleProject.git
> git pull origin master

Zum anderen konnte ich die Fernbedienung klonen.

> git clone git@github.com:exampleUser/exampleProject.git

Ist das Klonen nur eine Verknüpfung für die 5-Schritt-Version oben oder ist es etwas anderes tun, als auch? Werde ich in Schwierigkeiten geraten, wenn ich eine Methode, über die andere verwenden?

War es hilfreich?

Lösung

Viele Befehle, ob git Befehle oder gemeinsame Programme, Dinge tun, in einer Zeile könnte man sonst in zehn tun. Es ist immer gute Arbeit zu retten!

Das heißt, Ihre Schritte sind in der Nähe, aber nicht ganz das gleiche wie, was git clone tut. Ich kann mich ein paar Unterschiede, die alle mit Niederlassungen zu tun:

  • Wenn aus irgendeinem Grund, HEAD der Fernbedienung des ist nicht Master, der Klon wird das Richtige tun - geben Sie einen Zweig die gleichen wie die Fernbedienung genannt, statt Master. Das ist selten, aber ein gutes Detail bewusst zu sein.

  • Ihr git pull werden alle Remote-Filialen nicht erstellen. Wenn die entfernte mehrere Zweige hat, erstellt der Klon entfernte Zweige remotes/origin/foo, remotes/origin/bar, ... in Ihrem Repository. Ein git fetch origin würde kümmern, dass in der aufgeführten Schritte.

  • Sie haben auch nicht richten Sie Ihren Master-Zweig Herkunfts zu verfolgen, die der Klon tut. Sie können dies auf Ihre aufgeführten Schritte als git config branch.master.remote origin; git config branch.master.merge refs/heads/master hinzufügen. Das ist sehr wichtig -. Mit Schritten, wenn Sie die Master ausgecheckt und Sie Git-Pull-Typen, wird es nicht wissen, was zu tun

Es ist möglich, ich habe verpasst das eine oder andere. Wie bei Schwierigkeiten des einen oder anderen, auch Sie alle die Unterschiede zwischen einem Standard-Klon ausbügeln angenommen und einem „Handbuch Klon“, mein Rat wäre, nicht neu zu erfinden git clone sein:

  • Es ist kurz. Warum mehr Arbeit?

  • Es ist handlich Optionen bekommt sein Verhalten zu ändern. Dinge wie --shared wäre wirklich schwierig sein, Ihre aufgeführten Befehle hinzuzufügen.

  • Es ist garantiert das Richtige jetzt und in Zukunft zu tun. Was passiert, wenn Sie ein Detail übersehen, wie die oben? Was passiert, wenn git hat einen globalen Konfigurationsparameter, dass die betroffenen Klone? Sie müssten Ihre Befehle ändern Sie es zu berücksichtigen, aber git clone würde bereits wissen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top