Gitologie

Lokales Repository mit zwei upstream repositories verbinden:

# von ersten repository clonen
git clone https://github.com/rgwch/elexis-3-core

damit werden implizit folgende defaults gesetzt:

  • akuteller branch: master
  • Name des remote repository: origin
  • URL des remote repository: https://github.com/rgwch/elexis-3-core

    # Zweites Remote repository hinzufügen
    git remote add elx http://github.com/elexis/elexis-3-core
    

Es wird ein remote repository unter dem Namen elx für den aktuellen Branch erstellt

    # Updates vom zweiten Repository ins erste mergen
    git pull elx
    git push 

Weiteren Branch auschecken und synchronisieren

# Branch 3.1-maintenance vom repository `origin` holen und lokal 
# unter dem gleichen Namen erstellen und gleich auschecken.
git checkout -b 3.1-maintenance origin/3.1-maintenance

# wir befinden uns jetzt im branch 3.1-maintenance
# Vom repository elx Änderungen einpflegen
git pull elx 3.1-maintenance
git push

Eigenen Branch erstellen

git checkout -b ungrad
# Wir befinden uns jetzt im Branch `ungrad', der derzeit noch 
# eine exakte Kopie von 3.1-maintenance ist.

git push --set-upstream origin ungrad
# Jetzt existiert dieser Branch auch im repository `origin`

Git Repo auf einen anderen Server umleiten

auf dem Server: mkdir repo && cd repo && git init --bare`

auf dem client:

cd repo
git remote remove origin
git remote add  origin ssh://user@server:port/some/where/repo
git push --set-upstream origin master