SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
Git im Team

» Gitolite installieren

» Rechtemanagement

» Git-Befehle für Teamworker

» Weiterführende Ressourcen




Stand: 11.06.2012
Gitolite installieren – lokale Vorbereitung
# Falls kein SSH-Key vorhanden ist, diesen erstellen

ssh-keygen -t rsa -C 'User 1'‚

# SSH-Key auf den Server laden
# Dieser wird später bei der Installation dem Admin-User zugewiesen

scp .ssh/id_rsa.pub server.tld:/tmp/benutzername.pub




           CPS-IT Mehr Wert im Netz Git im Team                       2
Gitolite installieren
# Git installieren

sudo aptitude install git-core

# User anlegen
# Dieser User dient als Login für den späteren Git-Zugriff auf den Server
# Shell-Angabe ist für den Zugriff per SSH wichtig
# Gruppe ist die Standardgruppe vom Apache, diese kann auch leer gelassen werden (--group )

sudo adduser 
    --shell /bin/sh 
    --gecos 'git version control' 
    --ingroup 'www-data' 
    --disabled-password 
    --home /srv/git 
    git

# Den User wechseln und ins Home-Verzeichnis gehen

su git
cd ~

# Gitolite-Source herunterladen

git clone git://github.com/sitaramc/gitolite gitolite-source

# Gitolite installieren und mit vorher hochgeladenem Admin-Key verknüpfen

gitolite-source/src/gitolite setup -pk /tmp/benutzername.pub



            CPS-IT Mehr Wert im Netz Git im Team                                               3
Rechtemanagement
# Konfigurationsrepository herunterladen und Datei gitolite.conf im Ordner conf/ öffnen

git clone git@server.tld:gitolite-admin

# Gruppen definieren

@admins = user1
@team = dilbert alice wally @admins

# Standardrechte definieren
#R             = nur lesen
# RW           = Lesen und Schreiben (push ist erlaubt, neue Branches/Tags können angelegt werden)
# RW+          = Bestehende refs können überschrieben werden (git push –f)
#-             = Kein Zugriff

repo @all
                 RW+                              = @admins
                 R                                = @team
                 RW+ personal/USER/               = @team

repo gitolite-admin
           RW+                                    = @admins

# Rechte für ein (neues) Repository setzen

Repo foo
                 RW+                              =   dilbert
                 RW+ dev                          =   alice
                 -                                =   wally
                 RW temp/                         =   @team
                 R                                =   ashok

           CPS-IT Mehr Wert im Netz Git im Team                                                      4
Rechtemanagement
# Gitolite documentation

http://sitaramc.github.com/gitolite/master-toc.html

# Access rules

http://sitaramc.github.com/gitolite/rules.html

# Special features and setups

http://sitaramc.github.com/gitolite/special.html




           CPS-IT Mehr Wert im Netz Git im Team       5
Git-Befehle für Teamworker
# Commits in das Server-Repository integrieren

git push origin master

# Neue Änderungen vom Server-Repository laden (ohne Veränderung des lokalen Repositories)

git fetch origin

# Änderungen in das lokale Repository übernehmen

git merge origin/master

# Text der Änderungen generieren lassen für Email

git request-pull origin/master                    master

# Patches in mbox-formatierte Dateien erstellen

git format-patch -M origin/master

# Patch-Dateien übernehmen

git apply --check /tmp/new-patch.patch
git apply /tmp/new-patch.patch

# mbox-formatierte Dateien übernehmen

git am /tmp/patch-in-mbox.patch




          CPS-IT Mehr Wert im Netz Git im Team                                              6
Weiterführende Ressourcen
# Pro Git

http://git-scm.com/book/

# Git- kurz & gut (O'Reilly)

http://www.amazon.de/Git--kurz-gut-Sven-Riedel/dp/389721914X/ref=sr_1_2?s=books&ie=UTF8&qid=1339411563&sr=1-2

# Einstieg in Git

http://rogerdudler.github.com/git-guide/index.de.html

# Git live erleben

http://www.codeschool.com/courses/try-git

# SVN-Repositories nach Git konvertieren

http://de.gitready.com/beginner/2009/02/04/converting-from-svn.html




            CPS-IT Mehr Wert im Netz Git im Team                                                                7

Weitere ähnliche Inhalte

Was ist angesagt?

Sei (k)ein Blödmann und nimm Git!
Sei (k)ein Blödmann und nimm Git!Sei (k)ein Blödmann und nimm Git!
Sei (k)ein Blödmann und nimm Git!Stefan Imhoff
 
Docker for Python Development
Docker for Python DevelopmentDocker for Python Development
Docker for Python DevelopmentMartin Christen
 
'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!Benjamin Schmid
 
Versionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und GitVersionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und Gitpaultcochrane
 
Automation with Ansible
Automation with AnsibleAutomation with Ansible
Automation with AnsibleSusannSgorzaly
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerLenz Grimmer
 
Einführung in Laravel und GulpJS
Einführung in Laravel und GulpJSEinführung in Laravel und GulpJS
Einführung in Laravel und GulpJSthespazecookie
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easyinovex GmbH
 
Domain name system security extension
Domain name system security extensionDomain name system security extension
Domain name system security extensionF789GH
 
Automatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansibleAutomatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansibleStephan Hochhaus
 
Gitことはじめ
GitことはじめGitことはじめ
Gitことはじめbleis tift
 

Was ist angesagt? (15)

Sei (k)ein Blödmann und nimm Git!
Sei (k)ein Blödmann und nimm Git!Sei (k)ein Blödmann und nimm Git!
Sei (k)ein Blödmann und nimm Git!
 
GIT / SVN
GIT / SVNGIT / SVN
GIT / SVN
 
Grunt
GruntGrunt
Grunt
 
Docker for Python Development
Docker for Python DevelopmentDocker for Python Development
Docker for Python Development
 
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
 
'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!
 
Versionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und GitVersionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und Git
 
Automation with Ansible
Automation with AnsibleAutomation with Ansible
Automation with Ansible
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
 
Einführung in Laravel und GulpJS
Einführung in Laravel und GulpJSEinführung in Laravel und GulpJS
Einführung in Laravel und GulpJS
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
 
Domain name system security extension
Domain name system security extensionDomain name system security extension
Domain name system security extension
 
Automatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansibleAutomatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansible
 
Gitことはじめ
GitことはじめGitことはじめ
Gitことはじめ
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 

Andere mochten auch

Verteilte Versionskontrolle mit Git
Verteilte Versionskontrolle mit GitVerteilte Versionskontrolle mit Git
Verteilte Versionskontrolle mit GitJan Dittberner
 
Do it the_git_way
Do it the_git_wayDo it the_git_way
Do it the_git_wayPeter Ukena
 
Überblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle VersionsmanagementsystemeÜberblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle VersionsmanagementsystemeAndreas Schreiber
 
The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginnersGunjan Patel
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by stepBinh Quan Duc
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentLemi Orhan Ergin
 
Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011renebruns
 
Subversion -> SVK -> Git
Subversion -> SVK -> GitSubversion -> SVK -> Git
Subversion -> SVK -> GitKota Sakoda
 
Versionierung mit Git und SourceTree
Versionierung mit Git und SourceTreeVersionierung mit Git und SourceTree
Versionierung mit Git und SourceTreelucas_jahn
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunitySteffen Gebert
 
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtFMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtVerein FM Konferenz
 

Andere mochten auch (15)

Verteilte Versionskontrolle mit Git
Verteilte Versionskontrolle mit GitVerteilte Versionskontrolle mit Git
Verteilte Versionskontrolle mit Git
 
Do it the_git_way
Do it the_git_wayDo it the_git_way
Do it the_git_way
 
Gitlab
GitlabGitlab
Gitlab
 
Überblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle VersionsmanagementsystemeÜberblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle Versionsmanagementsysteme
 
Einstieg in git
Einstieg in gitEinstieg in git
Einstieg in git
 
The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginners
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by step
 
Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software Development
 
Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011
 
Subversion -> SVK -> Git
Subversion -> SVK -> GitSubversion -> SVK -> Git
Subversion -> SVK -> Git
 
git Vorstellung
git Vorstellunggit Vorstellung
git Vorstellung
 
Versionierung mit Git und SourceTree
Versionierung mit Git und SourceTreeVersionierung mit Git und SourceTree
Versionierung mit Git und SourceTree
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
 
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtFMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
 

Ähnlich wie Git im team

Childthemes mit git – WordPress MeetUp CGN
Childthemes mit git – WordPress MeetUp CGNChildthemes mit git – WordPress MeetUp CGN
Childthemes mit git – WordPress MeetUp CGNpixolin
 
Lokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEVLokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEVPeter Kraume
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions
 
"git.net" gibt's nicht?
"git.net" gibt's nicht?"git.net" gibt's nicht?
"git.net" gibt's nicht?inovex GmbH
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17remigius-stalder
 
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringOSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringNETWAYS
 
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-MonitoringsOSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-MonitoringsNETWAYS
 
How to install Gitweb on Ubuntu
How to install Gitweb on UbuntuHow to install Gitweb on Ubuntu
How to install Gitweb on Ubuntuteena77
 
Git Essentials Cheatsheet Deutsch
Git Essentials Cheatsheet DeutschGit Essentials Cheatsheet Deutsch
Git Essentials Cheatsheet DeutschInfralovers
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenAndreas Ponte
 
DACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDNUG e.V.
 
Git class german / english
Git class german / englishGit class german / english
Git class german / englishKevin Read
 
Git barcamp stuttgart_2010
Git barcamp stuttgart_2010Git barcamp stuttgart_2010
Git barcamp stuttgart_2010webholics
 

Ähnlich wie Git im team (20)

git started – IPC2012
git started – IPC2012git started – IPC2012
git started – IPC2012
 
Homebrew
HomebrewHomebrew
Homebrew
 
Childthemes mit git – WordPress MeetUp CGN
Childthemes mit git – WordPress MeetUp CGNChildthemes mit git – WordPress MeetUp CGN
Childthemes mit git – WordPress MeetUp CGN
 
Version management mit Git und Github
Version management mit Git und Github Version management mit Git und Github
Version management mit Git und Github
 
Versionskontrolle mit Git
Versionskontrolle mit GitVersionskontrolle mit Git
Versionskontrolle mit Git
 
FLOW3-Workshop F3X12
FLOW3-Workshop F3X12FLOW3-Workshop F3X12
FLOW3-Workshop F3X12
 
Deployment 2.0
Deployment 2.0Deployment 2.0
Deployment 2.0
 
Lokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEVLokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEV
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Git
GitGit
Git
 
"git.net" gibt's nicht?
"git.net" gibt's nicht?"git.net" gibt's nicht?
"git.net" gibt's nicht?
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringOSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
 
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-MonitoringsOSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings
 
How to install Gitweb on Ubuntu
How to install Gitweb on UbuntuHow to install Gitweb on Ubuntu
How to install Gitweb on Ubuntu
 
Git Essentials Cheatsheet Deutsch
Git Essentials Cheatsheet DeutschGit Essentials Cheatsheet Deutsch
Git Essentials Cheatsheet Deutsch
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
 
DACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdf
 
Git class german / english
Git class german / englishGit class german / english
Git class german / english
 
Git barcamp stuttgart_2010
Git barcamp stuttgart_2010Git barcamp stuttgart_2010
Git barcamp stuttgart_2010
 

Git im team

  • 1. Git im Team » Gitolite installieren » Rechtemanagement » Git-Befehle für Teamworker » Weiterführende Ressourcen Stand: 11.06.2012
  • 2. Gitolite installieren – lokale Vorbereitung # Falls kein SSH-Key vorhanden ist, diesen erstellen ssh-keygen -t rsa -C 'User 1'‚ # SSH-Key auf den Server laden # Dieser wird später bei der Installation dem Admin-User zugewiesen scp .ssh/id_rsa.pub server.tld:/tmp/benutzername.pub CPS-IT Mehr Wert im Netz Git im Team 2
  • 3. Gitolite installieren # Git installieren sudo aptitude install git-core # User anlegen # Dieser User dient als Login für den späteren Git-Zugriff auf den Server # Shell-Angabe ist für den Zugriff per SSH wichtig # Gruppe ist die Standardgruppe vom Apache, diese kann auch leer gelassen werden (--group ) sudo adduser --shell /bin/sh --gecos 'git version control' --ingroup 'www-data' --disabled-password --home /srv/git git # Den User wechseln und ins Home-Verzeichnis gehen su git cd ~ # Gitolite-Source herunterladen git clone git://github.com/sitaramc/gitolite gitolite-source # Gitolite installieren und mit vorher hochgeladenem Admin-Key verknüpfen gitolite-source/src/gitolite setup -pk /tmp/benutzername.pub CPS-IT Mehr Wert im Netz Git im Team 3
  • 4. Rechtemanagement # Konfigurationsrepository herunterladen und Datei gitolite.conf im Ordner conf/ öffnen git clone git@server.tld:gitolite-admin # Gruppen definieren @admins = user1 @team = dilbert alice wally @admins # Standardrechte definieren #R = nur lesen # RW = Lesen und Schreiben (push ist erlaubt, neue Branches/Tags können angelegt werden) # RW+ = Bestehende refs können überschrieben werden (git push –f) #- = Kein Zugriff repo @all RW+ = @admins R = @team RW+ personal/USER/ = @team repo gitolite-admin RW+ = @admins # Rechte für ein (neues) Repository setzen Repo foo RW+ = dilbert RW+ dev = alice - = wally RW temp/ = @team R = ashok CPS-IT Mehr Wert im Netz Git im Team 4
  • 5. Rechtemanagement # Gitolite documentation http://sitaramc.github.com/gitolite/master-toc.html # Access rules http://sitaramc.github.com/gitolite/rules.html # Special features and setups http://sitaramc.github.com/gitolite/special.html CPS-IT Mehr Wert im Netz Git im Team 5
  • 6. Git-Befehle für Teamworker # Commits in das Server-Repository integrieren git push origin master # Neue Änderungen vom Server-Repository laden (ohne Veränderung des lokalen Repositories) git fetch origin # Änderungen in das lokale Repository übernehmen git merge origin/master # Text der Änderungen generieren lassen für Email git request-pull origin/master master # Patches in mbox-formatierte Dateien erstellen git format-patch -M origin/master # Patch-Dateien übernehmen git apply --check /tmp/new-patch.patch git apply /tmp/new-patch.patch # mbox-formatierte Dateien übernehmen git am /tmp/patch-in-mbox.patch CPS-IT Mehr Wert im Netz Git im Team 6
  • 7. Weiterführende Ressourcen # Pro Git http://git-scm.com/book/ # Git- kurz & gut (O'Reilly) http://www.amazon.de/Git--kurz-gut-Sven-Riedel/dp/389721914X/ref=sr_1_2?s=books&ie=UTF8&qid=1339411563&sr=1-2 # Einstieg in Git http://rogerdudler.github.com/git-guide/index.de.html # Git live erleben http://www.codeschool.com/courses/try-git # SVN-Repositories nach Git konvertieren http://de.gitready.com/beginner/2009/02/04/converting-from-svn.html CPS-IT Mehr Wert im Netz Git im Team 7