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.