das tübinger...
TRANSCRIPT
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Das Tübinger Softwareprojekt Git & Social Coding — Workshop
Arbeiten im Team
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Begriffe
“Remote Repository” Ein externes Repository im Netzwerk / Internet.
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Begriffe
“Remote Repository” Ein externes Repository im Netzwerk / Internet.
“Fetchen” Die lokale Kopie des Remote Repositories im eigenen Repos aktualisieren.
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Begriffe
“Remote Repository” Ein externes Repository im Netzwerk / Internet.
“Fetchen” Die lokale Kopie des Remote Repositories im eigenen Repos aktualisieren.
“Pushen” Die lokale Kopie des Remote Repositories zum externen Repository hochladen.
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Begriffe
“Remote Repository” Ein externes Repository im Netzwerk / Internet.
“Fetchen” Die lokale Kopie des Remote Repositories im eigenen Repos aktualisieren.
“Pushen” Die lokale Kopie des Remote Repositories zum externen Repository hochladen.
“Remote Branch” Referenz auf einen Branch in einem Remote Repository.
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Begriffe
“Remote Repository” Ein externes Repository im Netzwerk / Internet.
“Fetchen” Die lokale Kopie des Remote Repositories im eigenen Repos aktualisieren.
“Pushen” Die lokale Kopie des Remote Repositories zum externen Repository hochladen.
“Remote Branch” Referenz auf einen Branch in einem Remote Repository.
“Remote Tracking Branch” Referenz auf einen Branch in einem Remote Repository, welche automatisch aktualisiert wird.
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Begriffe
“Remote Repository” Ein externes Repository im Netzwerk / Internet.
“Fetchen” Die lokale Kopie des Remote Repositories im eigenen Repos aktualisieren.
“Pushen” Die lokale Kopie des Remote Repositories zum externen Repository hochladen.
“Remote Branch” Referenz auf einen Branch in einem Remote Repository.
“Remote Tracking Branch” Referenz auf einen Branch in einem Remote Repository, welche automatisch aktualisiert wird.
“Tracking Branch” Lokale Kopie eines Remote Tracking Branches mit einer Referenz auf den “upstream branch”.
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Beispiel Workflow
Existierendes Remote-Repository klonen 1. Erzeugt ein neues lokales Repository 2. Kopiert das Remote-Repository unter dem
lokalen Namen origin. 3. Erstellt einen Remote-Branch (Referenz)
origin/master 4. Erstellt einen entsprechenden lokalen
Tracking-Branch master.
git.ourcompany.com
My Computer
0b743 a6b4c f4265
origin/master
0b743 a6b4c f4265
master
master
Remote Tracking Branch
Local Tracking Branch
git clone [email protected]:project.git
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Beispiel Workflow
Paralleles Entwickeln Sowohl im Remote-Repository als auch lokal in master wurde weiterentwickelt.
git.ourcompany.com
My Computer
0b743 a6b4c f4265 a38de 893cf
origin/master
0b743 a6b4c f4265 31b8e 190a3
Someone else pushes
master
master
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
git.ourcompany.com
My Computer
Beispiel Workflow
Änderungen “fetchen” 1. Aktualisiert die lokale Kopie des Remote
Repositories. 2. Macht keine Änderungen am Tracking
Branch master.
0b743 a6b4c f4265 31b8e 190a3
a38de 893cf
origin/master
master
0b743 a6b4c f4265 31b8e 190a3
git fetch origin
master
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
git.ourcompany.com
My Computer
Beispiel Workflow
Änderungen lokal mergen Achtung: origin/master wird durch merge zunächst nicht geändert!
0b743 a6b4c f4265 31b8e 190a3
a38de 893cf
origin/master
0b743 a6b4c f4265 31b8e 190a3
f345a
master
git merge origin/master
master
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Beispiel Workflow
Änderungen pushen
git.ourcompany.com
0b743 a6b4c f4265 31b8e 190a3
a38de 893cf f345a
My Computer
0b743 a6b4c f4265 31b8e 190a3
a38de 893cf
origin/master
f345a
master
git push origin master
master
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Git Pull
git pull
eine Abkürzung für
git fetch git merge
Für Tracking Branches ist
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Das Tübinger Softwareprojekt Git & Social Coding — Workshop
Social Coding
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Warum?
Nicht nur für Open Source:- Räumlich und zeitlich verteilte Teams. - Diskussionen über Source Code werden
nicht schriftlich festgehalten. - Code-Reviews erfordern
Terminvereinbarungen und Präsenzzeit.
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Social Network
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Social Network
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Social Network
Kommentieren von Commits / Erwähnen von Nutzern
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Issue Tracker
Social Network
Kommentieren von Commits / Erwähnen von Nutzern
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Issue Tracker
Social Network
Kommentieren von Commits / Erwähnen von Nutzern
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Issue Tracker
Social Network
Integration von Issues und Commits
Kommentieren von Commits / Erwähnen von Nutzern
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Issue Tracker
Social Network
Integration von Issues und Commits
Kommentieren von Commits / Erwähnen von Nutzern
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Issue Tracker
Social Network
Integration von Issues und Commits
Kommentieren von Commits / Erwähnen von Nutzern
Kommentieren von Issues / Erwähnen von Nutzern
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Issue Tracker
Social Network
Integration von Issues und Commits
Kommentieren von Commits / Erwähnen von Nutzern
Kommentieren von Issues / Erwähnen von Nutzern
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Social Coding
Remote Repository
Eine Social Coding Plattform stellt zur Verfügung:
Issue Tracker
Social Network
Integration von Issues und Commits
Kommentieren von Commits / Erwähnen von Nutzern
Kommentieren von Issues / Erwähnen von Nutzern
Online Code Reviews durch
Pull Requests
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Pull Requests
- Issues mit Verknüpfung zu zwei Branches (“Source” / “Target”) - Anfrage Source in Target zu mergen - Kann genutzt werden um:
- Änderungen in einem Branch vorzuschlagen und zu diskutieren (keine direkte merge-Absicht)
- Änderungen zu “reviewen” bevor sie gemerged werden (direkte merge-Absicht)
Zentrales Tool zur Kooperation (und QS) auf Distanz!
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Pull Requests
- Issues mit Verknüpfung zu zwei Branches (“Source” / “Target”) - Anfrage Source in Target zu mergen - Kann genutzt werden um:
- Änderungen in einem Branch vorzuschlagen und zu diskutieren (keine direkte merge-Absicht)
- Änderungen zu “reviewen” bevor sie gemerged werden (direkte merge-Absicht)
Zentrales Tool zur Kooperation (und QS) auf Distanz!
Mathematisch-Naturwissenschaftliche Fakultät Fachbereich Informatik Programmiersprachen und Softwaretechnik
Das Tübinger Softwareprojekt Git & Social Coding — Workshop
Live Demo