Was macht der clone
Befehl? Gibt es ein Äquivalent dazu in svn?
Was ist der Unterschied zwischen
git remote add test git://github.com/user/test.git
Und
git clone git://github.com/user/test.git
Ist der Name des erstellten Repos wichtig?
Was macht der clone
Befehl? Gibt es ein Äquivalent dazu in svn?
Was ist der Unterschied zwischen
git remote add test git://github.com/user/test.git
Und
git clone git://github.com/user/test.git
Ist der Name des erstellten Repos wichtig?
git remote add; ...other commands...
und git clone
.
Antworten:
git remote add
Erstellt einfach einen Eintrag in Ihrer Git-Konfiguration, der einen Namen für eine bestimmte URL angibt. Sie müssen über ein vorhandenes Git-Repo verfügen, um dies verwenden zu können.
git clone
Erstellt ein neues Git-Repository, indem ein vorhandenes kopiert wird, das sich an der von Ihnen angegebenen URI befindet.
git init
zuerst tun , dann git fetch
und git merge
(oder git pull
) danach, und dann wärst du immer noch ein bisschen daneben ... siehe das Duplikat, das ich verlinkt habe.
Diese sind funktional ähnlich (probieren Sie es aus!):
# Git Klon REMOTEURL foo
und:
# mkdir foo # cd foo # git init # git remote add origin REMOTEURL # Git Pull Origin Master # cd ..
Jetzt gibt es kleine Unterschiede, aber im Grunde werden Sie sie wahrscheinlich nicht bemerken. Vergleichen Sie als Übung dem Leser die .git / config aus jedem Verzeichnis.
clone
hat die .git / config einen [Zweig "Master"] Teil. Bedeutet dies, dass clone
ich bei der Verwendung (in der Zukunft) diesen Zweig zusammenführen remote add
kann und nicht?
git branch --set-upstream master origin/master
. Dies ist der dritte Befehl, den ich nach dem git remote add
und git pull
Sie aufgelistet haben, und diese drei Befehle scheinen mir eine identische Konfiguration zu geben, wie git clone
sie getan hätte.
--set-upstream
scheint veraltet zu sein, das funktioniert besser:git branch --set-upstream-to=origin/master master
Der clone
Befehl erstellt eine lokale Kopie des von Ihnen angegebenen Repos. remote add
Fügt ein Remote-Repo hinzu, zu dem Sie entweder drücken oder ziehen können.
Das svn-Äquivalent von clone
ist checkout
.
remote add
fügt ein Remote Repo hinzu, zu dem du entweder ziehen oder von dem du schieben kannst .
git clone
::
Lädt die Dateien physisch auf Ihren Computer herunter. Es wird Platz von Ihrem Computer beanspruchen. Wenn das Repo 200 MB groß ist, wird das gesamte heruntergeladen und in das von Ihnen geklonte Verzeichnis gestellt.
git remote add
::
Nimmt keinen Platz! Es ist eher wie ein Zeiger! Es erhöht nicht Ihren Festplattenverbrauch. Es gibt nur eine Momentaufnahme der verfügbaren Filialen und ihrer Git-Commit-Historie, glaube ich. Es enthält nicht die tatsächlichen Dateien / Ordner Ihres Projekts.
Wenn Sie tun:
git remote add TechLeadRepo git://github.com/user/test.git
dann haben Sie Ihrem Computer nichts hinzugefügt. Nachdem Sie es in Ihren Remote-Zweigen hinzugefügt haben, können Sie eine Liste aller Zweige auf diesem Remote-Zweig abrufen, indem Sie Folgendes tun:
git fetch --all
Beim Abrufen (oder Abrufen) laden Sie die Dateien herunter. Wenn Sie dann den Feature22-Zweig Ihres Kollegen in Ihren lokalen Zweig übernehmen möchten, tun Sie dies einfach
git checkout -b myLocalFeature22 TechLeadRepo/feature22
Wenn Sie sein Repo geklont hätten, müssten Sie in das Verzeichnis dieses lokalen Repositorys und einfach nur checkout
in die gewünschte Filiale gehen