Apache Subversion (SVN)



Ähnliche Dokumente
Apache Subversion (SVN)

Apache Subversion (SVN)

Von SVN zu Git. Daniel Willmann cbna

git & git-flow Jens Sandmann Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow / 31

Praktikum Ingenieurinformatik (PI)

Verteilte Versionskontrolle mit GIT Dortmund Ansgar Brauner - GreenPocket GmbH - Köln

Die Projek*ools. Files, Git, Tickets & Time

git Änderungen verwalten mit git

Versionsverwaltung für die KU Betriebssysteme. Eine Einführung

Konfigurationsdateien mit Git verwalten

Medieninformatik Praktikum. Jens Rademacher

Versionsverwaltung mit SVN

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS Lehrstuhl i9, Prof. Dr. T.

Moodle aktuell halten mit Git

Einführung in Subversion

Git II. Dezentrale Versionsverwaltung im Team

Torsten Flatter inovex GmbH. "Git.NET" gibt's nicht?

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Kurzanleitung zu. von Daniel Jettka

Eine Einführung in das verteilte Quelltextverwaltungssystem Git

Git in großen Projekten

Linux Cafe Referent: Bernd Strößenreuther

Git. Dezentrale Versionsverwaltung im Team Grundlagen und Workflows. Rene Preißel Björn Stachmann. 2., aktualisierte und erweiterte Auflage

Software Engineering in der Praxis

Einfu hrung in Subversion mit TortoiseSVN

Deployment Deployment Seite 1 / 25

Versionierung und Bugtracking mit Git(Hub)

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn

1 Was ist das Mediencenter?

Versionsverwaltung mit Mercurial für Einsteiger

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Versionsverwaltung mit git. Christoph Knabe FB VI

Einführung in Git. master. Initial commit

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

Programmieren 2 06 Git-Teamwork und Egit

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Sourcecodeverwaltung

Test mit lokaler XAMPP Oxid Installation

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Eprog Starthilfe. 5. Oktober Einleitung 2

OP-LOG

Einführung in Git. Dirk Deimeke. 19. August My own IT. ddeimeke (My own IT) Einführung in Git 19. August / 23

TortoiseGit Step by Step Step 1: git for windows herunterladen und installieren.

MailUtilities: Remote Deployment - Einführung

Wie können Sie eine Client Lizenz wieder freigeben?

WinCVS Version 1.3. Voraussetzung. Frank Grimm Mario Rasser

Wie benutzt man TortoiseSVN

HSR git und subversion HowTo

PROJEKTVERZEICHNIS EINRICHTEN

Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN)

Proseminar Unix-Tools CVS Daniel Weber & Zhen Zhang Betreuer: Volker Baier

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

CVS. The open standard for version control. (Concurrent Versions System) Maik Zemann CVS

Support-Tipp Mai Release Management in Altium Designer

Dezentrale Versionsverwaltung

Git-Workflows im Alltag

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Die Dateiablage Der Weg zur Dateiablage

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Anleitung Captain Logfex 2013

Formular»Fragenkatalog BIM-Server«

Verwendung des Terminalservers der MUG

Installationsanleitungen

Datensicherung EBV für Mehrplatz Installationen

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Installationsanleitung OpenVPN

Guide DynDNS und Portforwarding

Arbeiten mit dem neuen WU Fileshare unter Windows 7

Sie sollen nach Abschluss dieser Übung: das Zusammenwirken von Berechtigungen auf Freigabe- und Dateisystemebene

Updatehinweise für die Version forma 5.5.5

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Erste Schritte mit Sharepoint 2013

CVS-Einführung. Sebastian Mancke,

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Verbinden. der Firma

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Erfahrungen mit Hartz IV- Empfängern

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Seminar. Bachelor Wirtschaftsinformatik

Subversion als Werkzeug in der Software-Entwicklung Eine Einführung. Tobias G. Pfeiffer Freie Universität Berlin

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

Speicher in der Cloud

Workshop: Eigenes Image ohne VMware-Programme erstellen

Anwendertreffen 25./26. Februar. cadwork update

FrogSure Installation und Konfiguration

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Erfolgreicher Ums9eg auf Git

Transkript:

Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013

Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013

git Datamining und Sequenzanalyse Marvin Meusel, Kai Dührkop 18.10.2013

Motivation Gemeinsam an Sourcecode arbeiten: Fileserver? NFS NETWORK FILE SYSTEM

Motivation Gemeinsam an Sourcecode arbeiten: Fileserver? NFS NETWORK FILE SYSTEM

Das Problem verteilter Dateizugriffe

Versionsverwaltung

Versionierung... über die Zeit add new cool feature 05.10.2013 bugfix 07.10.2013 11.10.2013

Versionierung... über mehrere Entwickler bugfix new feature new feature writing tests

Konfliktlösung

git Repositories login2.minet.uni-jena.de Repositories: /data/bipr/biodmxx Zugriff über git + ssh (Windows: putty client) Beispiel: ssh <nutzername>@login2.minet.unijena.de cd /data/bipr/biodm08

Einmalig: Identifizieren kaidu:linux$ $ git config --global user.name "Kai" $ git config --global user.email kai@du.de

Anlegen eines zentralen git Repositories kaidu:biodm08$ mkdir exactsearch.git kaidu:biodm08$ git init --bare --shared Initialisierte leeres gemeinsames GitRepository in /data/bipr/biodm04/exactsearch.git/ shared setzt die Gruppenrechte aller Files und Ordner im git repository, so dass andere Gruppenmitglieder darauf zugreifen können bare setzt das Repository als zentrales Repository, in dem niemand direkt Änderungen durchführt. Ohne --bare wird das Repository zum Arbeitsrepository

Anlegen eines lokalen git Repositories kaidu:linux$ git clone kaidu@login2.minet.unijena.de:/data/bipr/biodm04/exactsearch.git Cloning into 'exactsearch' clone legt eine lokale Kopie eines externen Repositories an

Hinzufügen von Dateien kaidu:linux$ cat > anewfile.txt Hello World! kaidu:linux$ git add anewfile.txt cat > file ist ein bekannter Trick um eine Datei mit Text zu füllen. Ihr könnt auch einfach einen Texteditor benutzen ;) add fügt eine Datei der stage area hinzu (= Menge der Dateien, die beim nächsten Commit berücksichtigt werden) add <directory> führt add auf alle Dateien im directory rekursiv aus

Löschen von Dateien kaidu:linux$ git rm anewfile.txt löscht Datei (mit dem nächsten Commit) kaidu:linux$ git rm --cached anewfile.txt löscht Datei aus dem Index/Versionierungssystem, behält sie aber auf der lokalen Festplatte Achtung: Einmal versionierte Dateien bleiben natürlich sowieso immer erhalten und können jederzeit wieder hergestellt werden!

Versionierung kaidu:linux$ git commit -m 'file added' speichert alle Änderungen (staged files) in einer neuen Version ab speichert eine Log-Message ab kaidu:linux$ git commit -am 'files added' speichert alle Änderungen (tracked files) in einer neuen Version ab

Mögliche Zustände einer Datei im Repository

Logs und Status kaidu:linux$ git status gibt an welche Dateien neu erstellt, modifiziert und gestaged sind gibt viele weitere Informationen (aktueller Branch etc.) an kaidu:linux$ git log zeigt die letzten Commits mit ihren Logmessages

Synchronisieren mit Server kaidu:linux$ git push origin master überträgt all eure Commits (im Branch 'master') zum Server (names 'origin') muss nicht unbedingt nach jedem commit aufgerufen werden, aber doch einmal am Tag ;) kaidu:linux$ git pull origin master überträgt alle Commits auf dem Server auf euren Rechner merged die Commits im Server mit euren neuen Commits meldet mögliche Konflikte

Konflikt kaidu:linux$ git mergetool git löst Konflikte in den meisten Fällen selbstständig auf, nämlich dann wenn die Änderungen an unterschiedlichen Stellen stattfinden wenn aber in der selben Datei in direkter Nähe Änderungen stattfinden, muss der Konflikt manuell gelöst werden git mergetool ruft einen grafischen Editor für Konfliktlösung auf beide Versionen einsehen, sich für eine gemeinsame Version entscheiden

Workflow kaidu:linux$ git pull # Hole aktuelle Version kaidu:linux$ change some files... kaidu:linux$ git commit -am 'my changes' kaidu:linux$ git pull # Prüfe auf Konflikte kaidu:linux$ git push # Sende an Server

Exkurs: Branches

Exkurs: Branches - ein Branch ist ein Zeiger auf einen Commit

Exkurs: Branches kaidu:linux$ git branch testing der branch Befehl legt einen neuen Branch im aktuellen Commit an

Exkurs: Branches HEAD ist ein spezieller Zeiger der immer auf den aktuellen Branch (oder Commit) zeigt dieser Zeiger kann natürlich in jeder lokalen Kopie eines Repositories unterschiedlich sein

Exkurs: Branches kaidu:linux$ git checkout testing der checkout Befehl ändert den HEAD Zeiger auf einen anderen Commit

Exkurs: Branches kaidu:linux$ git commit -am '...' nach einem Commit bewegt sich der HEAD und der Branch, auf den dieser zeigt, zum nächsten Commit

Exkurs: Branches kaidu:linux$ git checkout master

Exkurs: Branches kaidu:linux$ git commit -am '...' Commiten auf verschiedenen Branches führt zu Verzweigungen der Programmversionen

Exkurs: Branches kaidu:linux$ git branch bugfix kaidu:linux$ git checkout bugfix kaidu:linux$ change some files... kaidu:linux$ git commit -am 'fix a bug in...' kaidu:linux$ git checkout master kaidu:linux$ git merge -d bugfix Typische Vorgehensweise beim Branchen: Änderungen eines bestimmten Features in einem eigenen Branch entwickeln Später Änderungen in den Hauptbranch einpflegen: mergen! Mergen ist exakt dasselbe, was beim pull Befehl passiert. Auch hier können Konflikte auftreten, die genauso gelöst werden

Exkurs: Tagging kaidu:linux$ git tag -a v1.0 -m 'release 1.0' Ein Tag ist prinzipiell ein konstanter Branch wird zum setzen einer bestimmten feststehenden Versionen genutzt (Beispiel: Die Version, die ihr uns später abgebt, könnte den Tag 'final' haben) Kann danach ähnlich wie ein Branch behandelt werden kaidu:linux$ git checkout v1.0 kaidu:linux$ git tag # listet alle Tags kaidu:linux$ git push origin v1.0 Achtung: Tag muss explizit per push an den Server übertragen werden

Tipps für git http://git-scm.com/ <--- lesen! Vermeide Binaries im Repository Ausnahme: Icons für GUIs usw. Verwende einfache Pfadnamen Achtung: Windows kann nicht zwischen Groß/Kleinschreibung unterscheiden) Verwende getrennte Ordner für den Sourcecode und die Ausgabe Die Ausgabe gehört nicht ins Repository