385 Stimmen

Was ist der Unterschied zwischen Git Clone und Checkout?

Was ist der Unterschied zwischen git clone y git checkout ?

377voto

August Lilleaas Punkte 52649

Die Manpage für checkout: http://git-scm.com/docs/git-checkout

Die Manpage für clone: http://git-scm.com/docs/git-clone

Zusammenfassend lässt sich sagen, dass clone dazu dient, Repositories zu holen, die man nicht hat, und checkout dazu, zwischen Zweigen eines Repositories zu wechseln, das man bereits hat.

Hinweis: Für diejenigen, die einen SVN/CVS-Hintergrund haben und neu in Git sind, ist die Entsprechung von git clone in SVN/CVS ist checkout . Die gleiche Formulierung verschiedener Begriffe ist oft verwirrend.

131voto

TheOneTeam Punkte 24512

Git-Klon ist es, Ihre Repositories von einem entfernten Git-Server zu holen.

Git-Checkout ist das Auschecken des gewünschten Status Ihres Repositorys (wie Zweige oder bestimmte Dateien).

Sie befinden sich z.B. gerade im Master-Zweig und möchten in den Entwicklungszweig wechseln.

git checkout develop_branch

Sie möchten z. B. zu einem bestimmten Status einer bestimmten Datei auschecken

git checkout commit_point_A -- <filename>

Hier ist ein gute Referenz für Sie, um Git zu lernen, lässt Sie viel leichter verstehen.

12voto

Philip Oakley Punkte 12467

Eine Sache, die auffällt, ist das Fehlen von "Copyout" in Git. Das liegt daran, dass Sie bereits eine vollständig Kopie in Ihrem lokalen Repository - Ihr lokales Repository ist ein clone des von Ihnen gewählten Upstream-Repositoriums. Sie haben also effektiv eine persönliche checkout de alles , ohne diese Dateien im Referenz-Repository zu sperren.

Git stellt die SHA1-Hash-Werte als Mechanismus zur Verfügung, um zu verifizieren, dass die Kopie, die Sie von einer Datei / einem Verzeichnisbaum / einem Commit / einem Repo haben, genau dieselbe ist, die von demjenigen verwendet wird, der in der Lage ist, Dinge als "Master" innerhalb der Hierarchie des Vertrauens zu deklarieren. Dies vermeidet all die "Sperren", die die meisten SCM-Systeme zum Erliegen bringen (mit den üblichen Problemen von privaten Kopien, großen Zusammenführungen und keiner wirklichen Kontrolle oder Verwaltung des Quellcodes ;-) !

8voto

Khader M A Punkte 4853

Einfach git checkout haben 2 Anwendungen

  1. Umschalten zwischen bestehenden lokalen Filialen wie git checkout <existing_local_branch_name>
  2. Erstellen Sie einen neuen Zweig aus dem aktuellen Zweig mit dem Flag -b. Angenommen, Sie befinden sich im Master-Zweig, dann git checkout -b <new_feature_branch_name> erstellt einen neuen Zweig mit dem Inhalt von master und wechselt zum neu erstellten Zweig

Weitere Optionen finden Sie auf der Website offizielle Seite

3voto

Goms Punkte 2194

checkout kann für viele Fälle verwendet werden:

1. Fall : Wechsel zwischen Zweigen im lokalen Repository Zum Beispiel : git checkout exists_branch_to_switch

Sie können auch einen neuen Zweig erstellen und in diesem Fall mit -b

git checkout -b new_branch_to_switch

2. Fall Datei von x rev wiederherstellen

git checkout rev file_to_restore ...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X