git clone¶
Für das Klonen benötigen wir ein bestehendes Öffentliches Repository. Durch das Klonen werden gleich die zugehörigen Konfigurationen erstellt. Diese Konfigurationen muss man bei neuen lokalen Git-Projekten später manuell nachholen oder nach gewünschter Umsetzung anpassen.
Git unterstützt für das Klonen unterschiedliche Protokolle:
git - ohne Authentifizierung (obsolet)
ssh - verschlüsselt und inkl. Auth.
http(s) - verschlüsselt mit https z.B. für GitHub, …
Einfaches Ausschecken / Klonen eines Git-Repo: (hier mit Git-Protokoll)
### git clone git://github.com/esc/git-cheatsheet-de.git OrdnerNachWunsch
$ git clone git://github.com/esc/git-cheatsheet-de.git
Cloning into 'git-cheatsheet-de'...
remote: Enumerating objects: 77, done.
remote: Total 77 (delta 0), reused 0 (delta 0), pack-reused 77
Receiving objects: 100% (77/77), 132.44 KiB | 832.00 KiB/s, done.
Resolving deltas: 100% (45/45), done.
Beim Klonen kann man den zu erstellenden Git-Projekt-Ordner bestimmen
oder mit Option -o den Remote-Namen (abweichend von origin) bestimmen.
Infos zum Remote: (Anm.: weitere Aufrufe wie immer
mit git remote TAB TAB bzw git remote --TAB TAB
$ git remote -v
origin git://github.com/esc/git-cheatsheet-de.git (fetch)
origin git://github.com/esc/git-cheatsheet-de.git (push)
Die Infos sind auch in der .git/config zu finden:
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = git://github.com/esc/git-cheatsheet-de.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
Die Bearbeitung dieser Konfiguration kann man mit git config -e
aufrufen - oder natürlich die .git/config direkt bearbeiten.
Einzelbefehl zum Anpassen der Remote-URLs: git remote set-url ...
Die Verwaltung der Infos und Zustände für lokal / remote müssen wir mit Git managen können.