Das Tübinger...

Preview:

Citation preview

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 janedoe@git.ourcompany.com: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

Recommended