{"id":16639,"date":"2024-10-04T22:25:14","date_gmt":"2024-10-04T20:25:14","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=16639"},"modified":"2024-10-04T22:25:16","modified_gmt":"2024-10-04T20:25:16","slug":"svn-repositorys-nach-git-konvertieren","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2024\/10\/04\/svn-repositorys-nach-git-konvertieren\/","title":{"rendered":"SVN-Repositorys nach Git konvertieren"},"content":{"rendered":"\n<p>Letztens musste ich mir Gedanken machen, wie man SVN-<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/repository\/\" target=\"_self\" title=\"Ein Repository in Linux ist eine zentrale Quelle, die es Benutzern erm&ouml;glicht, auf aktuelle oder getestete Software zuzugreifen. Dieses Prinzip wird h&auml;ufig von Linux-Distributionen verwendet, um den Benutzern einen zentralen Zugang zu Software zu erm&ouml;glichen. Durch die Paketverwaltung k&ouml;nnen sowohl das System als auch die Anwendungen mit einem Update aktualisiert werden, wodurch das manuelle &Uuml;berpr&uuml;fen&hellip;\" class=\"encyclopedia\">Repository<\/a>s zu <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/git\/\" target=\"_self\" title=\"Git ist ein Open-Source-Tool, das f&uuml;r die Versionskontrolle von Software verwendet wird. Es wurde 2005 von Linus Torvalds, dem Sch&ouml;pfer des Linux-Betriebssystems-Kernels, entwickelt. Git erm&ouml;glicht es Entwicklern, &Auml;nderungen an einem Projekt zu verfolgen, zu protokollieren und darauf zuzugreifen. Es ist ein verteiltes Versionskontrollsystem, bei dem jeder Entwickler eine vollst&auml;ndige Kopie des Projekts besitzt, einschlie&szlig;lich der&hellip;\" class=\"encyclopedia\">Git<\/a> konvertiert. Bei SVN handelt es sich um ein inzwischen veraltetes Versionsverwaltungssystem &ndash; es kann noch genutzt werden,  aber <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/git\/\" target=\"_self\" title=\"Git ist ein Open-Source-Tool, das f&uuml;r die Versionskontrolle von Software verwendet wird. Es wurde 2005 von Linus Torvalds, dem Sch&ouml;pfer des Linux-Betriebssystems-Kernels, entwickelt. Git erm&ouml;glicht es Entwicklern, &Auml;nderungen an einem Projekt zu verfolgen, zu protokollieren und darauf zuzugreifen. Es ist ein verteiltes Versionskontrollsystem, bei dem jeder Entwickler eine vollst&auml;ndige Kopie des Projekts besitzt, einschlie&szlig;lich der&hellip;\" class=\"encyclopedia\">Git<\/a> hat einfach viel zu viele Vorteile.<\/p>\n\n\n\n<p>Doch wie bekommt man die <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/daten\/\" target=\"_self\" title='Unter \"Daten\" versteht man Informationen, die auf dem Dateisystem gespeichert sind. Diese Informationen k&ouml;nnen in Form von Dateien oder Verzeichnissen vorliegen. Linux verwendet ein hierarchisches Dateisystem, das sich von dem in Windows unterscheidet. Das Wurzelverzeichnis \"\/\" ist der oberste Verzeichnisbaum, von dem aus alle anderen Verzeichnisse und Dateien abzweigen.' class=\"encyclopedia\">Daten<\/a> von einem SVN-Repo in ein <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/git\/\" target=\"_self\" title=\"Git ist ein Open-Source-Tool, das f&uuml;r die Versionskontrolle von Software verwendet wird. Es wurde 2005 von Linus Torvalds, dem Sch&ouml;pfer des Linux-Betriebssystems-Kernels, entwickelt. Git erm&ouml;glicht es Entwicklern, &Auml;nderungen an einem Projekt zu verfolgen, zu protokollieren und darauf zuzugreifen. Es ist ein verteiltes Versionskontrollsystem, bei dem jeder Entwickler eine vollst&auml;ndige Kopie des Projekts besitzt, einschlie&szlig;lich der&hellip;\" class=\"encyclopedia\">Git<\/a>-Repo &ndash; nat&uuml;rlich mit allen Commits, die man auch im <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/git\/\" target=\"_self\" title=\"Git ist ein Open-Source-Tool, das f&uuml;r die Versionskontrolle von Software verwendet wird. Es wurde 2005 von Linus Torvalds, dem Sch&ouml;pfer des Linux-Betriebssystems-Kernels, entwickelt. Git erm&ouml;glicht es Entwicklern, &Auml;nderungen an einem Projekt zu verfolgen, zu protokollieren und darauf zuzugreifen. Es ist ein verteiltes Versionskontrollsystem, bei dem jeder Entwickler eine vollst&auml;ndige Kopie des Projekts besitzt, einschlie&szlig;lich der&hellip;\" class=\"encyclopedia\">Git<\/a> so nutzen kann, wie unter SVN? Hier die passende Anleitung.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SVN zu Git konvertieren<\/h3>\n\n\n\n<p>Als Erstes m&uuml;ssen wir das komplette SVN-Repo auf einen Rechner auschecken, der die Konvertierung &uuml;bernehmen soll. Je nach Gr&ouml;&szlig;e des Repos kann dieser &uuml;ber Minuten bis auch zu Tagen damit besch&auml;ftigt sein.<\/p>\n\n\n\n<p>In meinem Beispiel nennt sich das Repo <strong>svn.at\/<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/linux\/\" target=\"_self\" title=\"Linux ist ein UNIX-artiges Betriebssystem, seine Entwicklung wurde im Jahr 1992 vom Finnen Linus Torwalds gestartet. Im Grunde handelt es sich bei Linux nur um den Kern des Betriebssystems, zum Arbeiten ben&ouml;tigt Linux noch Treiber und Software, nicht unbedingt n&ouml;tig ist eine grafische Oberfl&auml;che.\" class=\"encyclopedia\">Linux<\/a>\/<\/strong> &ndash; wir checken erst einmal wie gewohnt aus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>svn co https:\/\/svn.at\/Linux\/<\/code><\/pre>\n\n\n\n<p>Jetzt ben&ouml;tigen wir noch die passende Software, die die Konvertierung &uuml;bernimmt. Unter auf <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/debian\/\" target=\"_self\" title=\"Debian ist eine freie Linux-Distribution, die von einer Gemeinschaft von Freiwilligen entwickelt wird. Es wird h&auml;ufig als Basis f&uuml;r andere Distributionen wie Ubuntu verwendet und ist bekannt f&uuml;r seine Zuverl&auml;ssigkeit und Stabilit&auml;t. Debian bietet eine Vielzahl von Anwendungen und Werkzeugen, die f&uuml;r die Verwendung in verschiedenen Umgebungen geeignet sind, von Desktop-Computern bis hin zu Server-Systemen.&hellip;\" class=\"encyclopedia\">Debian<\/a> basierenden <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/linux\/\" target=\"_self\" title=\"Linux ist ein UNIX-artiges Betriebssystem, seine Entwicklung wurde im Jahr 1992 vom Finnen Linus Torwalds gestartet. Im Grunde handelt es sich bei Linux nur um den Kern des Betriebssystems, zum Arbeiten ben&ouml;tigt Linux noch Treiber und Software, nicht unbedingt n&ouml;tig ist eine grafische Oberfl&auml;che.\" class=\"encyclopedia\">Linux<\/a>-<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/distribution\/\" target=\"_self\" title=\"Linux-Distributionen basieren auf dem Linux-Kernel, erg&auml;nzt mit weiteren Komponenten wie Installationsprogrammen, Verwaltungswerkzeugen und zus&auml;tzlicher Software. Sie bieten Unterst&uuml;tzung durch den Distributor, haben ihre eigenen Merkmale und Zielgruppen. Als Alternative zu propriet&auml;ren Betriebssystemen wie Windows und macOS sind diese i.d.R. kostenlos, Open-Source mit gro&szlig;er Auswahl an Anwendungs-Software. Viele Linux-Distributionen werden zudem von einer aktiven Community entwickelt&hellip;\" class=\"encyclopedia\">Distribution<\/a>en installieren wir diese wie gewohnt &uuml;ber die <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/pakete\/\" target=\"_self\" title=\"Unter Linux sind Pakete die grundlegenden Bausteine von Software, die von einem Paketmanager verwaltet werden. Ein Paket enth&auml;lt die ausf&uuml;hrbaren Dateien, Konfigurationsdateien, Dokumentation und Metadaten, die f&uuml;r die Installation und Verwaltung der Software ben&ouml;tigt werden.\" class=\"encyclopedia\">Paket<\/a>-Verwaltung durch das <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/pakete\/\" target=\"_self\" title=\"Unter Linux sind Pakete die grundlegenden Bausteine von Software, die von einem Paketmanager verwaltet werden. Ein Paket enth&auml;lt die ausf&uuml;hrbaren Dateien, Konfigurationsdateien, Dokumentation und Metadaten, die f&uuml;r die Installation und Verwaltung der Software ben&ouml;tigt werden.\" class=\"encyclopedia\">Paket<\/a> &bdquo;<strong><a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/git\/\" target=\"_self\" title=\"Git ist ein Open-Source-Tool, das f&uuml;r die Versionskontrolle von Software verwendet wird. Es wurde 2005 von Linus Torvalds, dem Sch&ouml;pfer des Linux-Betriebssystems-Kernels, entwickelt. Git erm&ouml;glicht es Entwicklern, &Auml;nderungen an einem Projekt zu verfolgen, zu protokollieren und darauf zuzugreifen. Es ist ein verteiltes Versionskontrollsystem, bei dem jeder Entwickler eine vollst&auml;ndige Kopie des Projekts besitzt, einschlie&szlig;lich der&hellip;\" class=\"encyclopedia\">git<\/a>-svn<\/strong>&ldquo; &ndash; am schnellsten gelingt dies als <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/root\/\" target=\"_self\" title=\"root ist der wahre Administrator, auch root-Benutzer unter Linux. Er alleine hat &uuml;ber das Betriebssystem alle Rechte. Zum Benutzer root wird man unter Linux auf dem Terminal mit dem Befehl: su Hat man kein root-Passwort angelegt, dient dazu der Befehl: sudo -i oder auch: sudo befehl\" class=\"encyclopedia\">root<\/a> auf dem <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/terminal\/\" target=\"_self\" title=\"Ein Terminal ist eine Benutzerschnittstelle, eine grafische Oberfl&auml;che, um &uuml;ber die Shell mit einem Interpreter direkt mit dem Betriebssystem zu kommunizieren. Grundlegend wird das Terminal mit der Tastatur bedient, einige Funktionen k&ouml;nnen je nach Terminal auch mit der Maus genutzt werden. Bekannte Terminals unter Linux w&auml;ren etwa die Konsole unter KDE, das GNOME-Terminal, Terminoligy unter&hellip;\" class=\"encyclopedia\">Terminal<\/a> mit dem <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/befehl\/\" target=\"_self\" title=\"Ein Befehl in Linux ist eine Anweisung, die &uuml;ber die Kommandozeile eingegeben wird, um verschiedene Aktionen auszuf&uuml;hren. Mit Linux-Befehlen k&ouml;nnen Sie Ihr System steuern, Dateien verwalten, Programme ausf&uuml;hren und vieles mehr. Hier sind einige wichtige Linux-Befehle: ls: Zeigt den Inhalt des aktuellen Verzeichnisses an. cd: Wechselt das Verzeichnis. mkdir: Erstellt ein neues Verzeichnis. rm: L&ouml;scht&hellip;\" class=\"encyclopedia\">Befehl<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt update\napt install git-svn<\/code><\/pre>\n\n\n\n<p>Die Konvertierung l&auml;uft am <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/terminal\/\" target=\"_self\" title=\"Ein Terminal ist eine Benutzerschnittstelle, eine grafische Oberfl&auml;che, um &uuml;ber die Shell mit einem Interpreter direkt mit dem Betriebssystem zu kommunizieren. Grundlegend wird das Terminal mit der Tastatur bedient, einige Funktionen k&ouml;nnen je nach Terminal auch mit der Maus genutzt werden. Bekannte Terminals unter Linux w&auml;ren etwa die Konsole unter KDE, das GNOME-Terminal, Terminoligy unter&hellip;\" class=\"encyclopedia\">Terminal<\/a> ab, das SVN-Repo muss online weiter erreichbar sein. Zu Beginn wechseln wir in das ausgecheckte Repo-<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/verzeichnis\/\" target=\"_self\" title=\"Ein Verzeichnis ist eine Datei, die andere Dateien und Verzeichnisse enth&auml;lt. Linux und Unix verwenden eine hierarchische, baumartige Struktur f&uuml;r das Dateisystem. Das h&ouml;chste Level des Dateisystems ist das Root-Verzeichnis (\/), unter dem alle anderen Dateien und Verzeichnisse existieren. Verzeichnisse sind Dateien und k&ouml;nnen im Root-Verzeichnis oder in anderen Verzeichnissen erstellt werden. Alles ist eine&hellip;\" class=\"encyclopedia\">Verzeichnis<\/a> (<em>nach obigem Beispiel<\/em>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd Linux\/<\/code><\/pre>\n\n\n\n<p>Mit dem ersten <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/befehl\/\" target=\"_self\" title=\"Ein Befehl in Linux ist eine Anweisung, die &uuml;ber die Kommandozeile eingegeben wird, um verschiedene Aktionen auszuf&uuml;hren. Mit Linux-Befehlen k&ouml;nnen Sie Ihr System steuern, Dateien verwalten, Programme ausf&uuml;hren und vieles mehr. Hier sind einige wichtige Linux-Befehle: ls: Zeigt den Inhalt des aktuellen Verzeichnisses an. cd: Wechselt das Verzeichnis. mkdir: Erstellt ein neues Verzeichnis. rm: L&ouml;scht&hellip;\" class=\"encyclopedia\">Befehl<\/a> ermitteln wir die Namen der Beteiligten, also den Personen, die selbst Commits im Repo angelegt haben:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>svn log --xml --quiet | grep author | sort -u | perl -pe 's\/.<em>>(.<\/em>?)&lt;.*\/$1 = \/'<\/code><\/pre>\n\n\n\n<p>Als Ausgabe erhalten wir eine Liste mit den Namen, diese k&ouml;nnte etwa so aussehen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pinguin =\ntux =\ndebian =<\/code><\/pre>\n\n\n\n<p>Wir mar<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/ki\/\" target=\"_self\" title='Unter \"KI\" versteht man \"K&uuml;nstliche Intelligenz\". Es handelt sich um ein Teilgebiet der Informatik, das sich mit der Automatisierung intelligenten Lern- und Entscheidungsverhaltens besch&auml;ftigt. KI erm&ouml;glicht es technischen Systemen, ihre Umwelt wahrzunehmen, mit dem Wahrgenommenen umzugehen und darauf basierend Entscheidungen zu treffen. KI wird in verschiedenen Bereichen eingesetzt, wie zum Beispiel in der Medizin zur&hellip;' class=\"encyclopedia\">ki<\/a>eren diese Ausgabe und f&uuml;gen diese genau so in eine Text<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/datei\/\" target=\"_self\" title='Unter \"Datei\" versteht man eine Einheit, die Informationen oder Daten enth&auml;lt. Dateien k&ouml;nnen verschiedene Arten von Inhalten haben, wie Text, Bilder, Audiodateien oder ausf&uuml;hrbare Programme. In Linux werden Dateien in einem hierarchischen Dateisystem organisiert, das &auml;hnlich wie ein Verzeichnisbaum aufgebaut ist. Das Wurzelverzeichnis \"\/\" ist der oberste Knoten des Verzeichnisbaums und enth&auml;lt alle anderen Dateien&hellip;' class=\"encyclopedia\">datei<\/a> ein &ndash; ich nenne diese beispielsweise &bdquo;<strong>authors.txt<\/strong>&bdquo;, die <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/datei\/\" target=\"_self\" title='Unter \"Datei\" versteht man eine Einheit, die Informationen oder Daten enth&auml;lt. Dateien k&ouml;nnen verschiedene Arten von Inhalten haben, wie Text, Bilder, Audiodateien oder ausf&uuml;hrbare Programme. In Linux werden Dateien in einem hierarchischen Dateisystem organisiert, das &auml;hnlich wie ein Verzeichnisbaum aufgebaut ist. Das Wurzelverzeichnis \"\/\" ist der oberste Knoten des Verzeichnisbaums und enth&auml;lt alle anderen Dateien&hellip;' class=\"encyclopedia\">Datei<\/a> liegt au&szlig;erhalb des ausgecheckten Repo-<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/verzeichnis\/\" target=\"_self\" title=\"Ein Verzeichnis ist eine Datei, die andere Dateien und Verzeichnisse enth&auml;lt. Linux und Unix verwenden eine hierarchische, baumartige Struktur f&uuml;r das Dateisystem. Das h&ouml;chste Level des Dateisystems ist das Root-Verzeichnis (\/), unter dem alle anderen Dateien und Verzeichnisse existieren. Verzeichnisse sind Dateien und k&ouml;nnen im Root-Verzeichnis oder in anderen Verzeichnissen erstellt werden. Alles ist eine&hellip;\" class=\"encyclopedia\">Verzeichnis<\/a>ses. Diese wird jetzt mit einem beliebigen Text<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/editor\/\" target=\"_self\" title=\"Ein Texteditor in Linux ist ein Programm, mit dem man beliebige Textdateien erstellen oder bearbeiten kann. Unter Linux gibt es viele verschiedene Texteditoren, sowohl f&uuml;r die grafische Benutzeroberfl&auml;che als auch f&uuml;r die Kommandozeile. Einige der bekanntesten Texteditoren f&uuml;r Linux sind: Vim: Vim ist eine Weiterentwicklung des BSD-Editors vi und ist in den meisten Linux-Distributionen enthalten.&hellip;\" class=\"encyclopedia\">editor<\/a> bearbeitet &ndash; Sie f&uuml;gen dahinter die Namen und die E-Mail-Adresse ein:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pinguin = Pinguin Linux &lt;adresse@dada.com>\ntux = Tux &lt;adresse@tux.com>\ndebian = &lt;adresse@debian.org><\/code><\/pre>\n\n\n\n<p>Jetzt beginnt die eigentliche Arbeit &ndash; wir gehen aus dem <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/verzeichnis\/\" target=\"_self\" title=\"Ein Verzeichnis ist eine Datei, die andere Dateien und Verzeichnisse enth&auml;lt. Linux und Unix verwenden eine hierarchische, baumartige Struktur f&uuml;r das Dateisystem. Das h&ouml;chste Level des Dateisystems ist das Root-Verzeichnis (\/), unter dem alle anderen Dateien und Verzeichnisse existieren. Verzeichnisse sind Dateien und k&ouml;nnen im Root-Verzeichnis oder in anderen Verzeichnissen erstellt werden. Alles ist eine&hellip;\" class=\"encyclopedia\">Verzeichnis<\/a> heraus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd ..<\/code><\/pre>\n\n\n\n<p>Und wir starten den <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/befehl\/\" target=\"_self\" title=\"Ein Befehl in Linux ist eine Anweisung, die &uuml;ber die Kommandozeile eingegeben wird, um verschiedene Aktionen auszuf&uuml;hren. Mit Linux-Befehlen k&ouml;nnen Sie Ihr System steuern, Dateien verwalten, Programme ausf&uuml;hren und vieles mehr. Hier sind einige wichtige Linux-Befehle: ls: Zeigt den Inhalt des aktuellen Verzeichnisses an. cd: Wechselt das Verzeichnis. mkdir: Erstellt ein neues Verzeichnis. rm: L&ouml;scht&hellip;\" class=\"encyclopedia\">Befehl<\/a> zur Konvertierung &ndash; zuletzt geben Sie die erstellte Text<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/datei\/\" target=\"_self\" title='Unter \"Datei\" versteht man eine Einheit, die Informationen oder Daten enth&auml;lt. Dateien k&ouml;nnen verschiedene Arten von Inhalten haben, wie Text, Bilder, Audiodateien oder ausf&uuml;hrbare Programme. In Linux werden Dateien in einem hierarchischen Dateisystem organisiert, das &auml;hnlich wie ein Verzeichnisbaum aufgebaut ist. Das Wurzelverzeichnis \"\/\" ist der oberste Knoten des Verzeichnisbaums und enth&auml;lt alle anderen Dateien&hellip;' class=\"encyclopedia\">datei<\/a> und das Repo-<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/verzeichnis\/\" target=\"_self\" title=\"Ein Verzeichnis ist eine Datei, die andere Dateien und Verzeichnisse enth&auml;lt. Linux und Unix verwenden eine hierarchische, baumartige Struktur f&uuml;r das Dateisystem. Das h&ouml;chste Level des Dateisystems ist das Root-Verzeichnis (\/), unter dem alle anderen Dateien und Verzeichnisse existieren. Verzeichnisse sind Dateien und k&ouml;nnen im Root-Verzeichnis oder in anderen Verzeichnissen erstellt werden. Alles ist eine&hellip;\" class=\"encyclopedia\">Verzeichnis<\/a> an:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git svn clone https:\/\/svn.knapp.at\/ITSM --preserve-empty-dirs --prefix=svn\/ --include-paths=\"^project1\/trunk|^project2\/trunk|^some_root\/trunk\/project3|^archive\/project2\/trunk|^archive\/some_root\/trunk\/project3\" --authors-file authors.txt Linux<\/code><\/pre>\n\n\n\n<p>Je nach Gr&ouml;&szlig;e des Repos, kann dies schon etwas dauern. In meinem Beispiel hat das Repo an die 175 GB &ndash; dauert locker 10 Stunden. Brechen Sie den Vorgang nicht ab &ndash; Sie m&uuml;ssen wieder komplett von vorne beginnen (<em><a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/verzeichnis\/\" target=\"_self\" title=\"Ein Verzeichnis ist eine Datei, die andere Dateien und Verzeichnisse enth&auml;lt. Linux und Unix verwenden eine hierarchische, baumartige Struktur f&uuml;r das Dateisystem. Das h&ouml;chste Level des Dateisystems ist das Root-Verzeichnis (\/), unter dem alle anderen Dateien und Verzeichnisse existieren. Verzeichnisse sind Dateien und k&ouml;nnen im Root-Verzeichnis oder in anderen Verzeichnissen erstellt werden. Alles ist eine&hellip;\" class=\"encyclopedia\">Verzeichnis<\/a> l&ouml;schen und wieder komplett auschecken<\/em>). Nachdem der Vorgang abgeschlossen ist, k&ouml;nnen Sie ins <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/verzeichnis\/\" target=\"_self\" title=\"Ein Verzeichnis ist eine Datei, die andere Dateien und Verzeichnisse enth&auml;lt. Linux und Unix verwenden eine hierarchische, baumartige Struktur f&uuml;r das Dateisystem. Das h&ouml;chste Level des Dateisystems ist das Root-Verzeichnis (\/), unter dem alle anderen Dateien und Verzeichnisse existieren. Verzeichnisse sind Dateien und k&ouml;nnen im Root-Verzeichnis oder in anderen Verzeichnissen erstellt werden. Alles ist eine&hellip;\" class=\"encyclopedia\">Verzeichnis<\/a> wechseln und sich die einzelnen Commits ansehen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd Linux\/\ngit log<\/code><\/pre>\n\n\n\n<p>Jetzt gehen wir an die ignorierten <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/datei\/\" target=\"_self\" title='Unter \"Datei\" versteht man eine Einheit, die Informationen oder Daten enth&auml;lt. Dateien k&ouml;nnen verschiedene Arten von Inhalten haben, wie Text, Bilder, Audiodateien oder ausf&uuml;hrbare Programme. In Linux werden Dateien in einem hierarchischen Dateisystem organisiert, das &auml;hnlich wie ein Verzeichnisbaum aufgebaut ist. Das Wurzelverzeichnis \"\/\" ist der oberste Knoten des Verzeichnisbaums und enth&auml;lt alle anderen Dateien&hellip;' class=\"encyclopedia\">Datei<\/a>en &ndash; dies ist der l&auml;ngste Vorgang (<em>im Repo-<a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/verzeichnis\/\" target=\"_self\" title=\"Ein Verzeichnis ist eine Datei, die andere Dateien und Verzeichnisse enth&auml;lt. Linux und Unix verwenden eine hierarchische, baumartige Struktur f&uuml;r das Dateisystem. Das h&ouml;chste Level des Dateisystems ist das Root-Verzeichnis (\/), unter dem alle anderen Dateien und Verzeichnisse existieren. Verzeichnisse sind Dateien und k&ouml;nnen im Root-Verzeichnis oder in anderen Verzeichnissen erstellt werden. Alles ist eine&hellip;\" class=\"encyclopedia\">Verzeichnis<\/a><\/em>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git svn show-ignore > .gitignore<\/code><\/pre>\n\n\n\n<p>Auch hier &ndash; nicht abbrechen, bei meiner oben angegebenen Repo-Gr&ouml;&szlig;e dauerte dies vier Tage. Die restlichen <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/befehl\/\" target=\"_self\" title=\"Ein Befehl in Linux ist eine Anweisung, die &uuml;ber die Kommandozeile eingegeben wird, um verschiedene Aktionen auszuf&uuml;hren. Mit Linux-Befehlen k&ouml;nnen Sie Ihr System steuern, Dateien verwalten, Programme ausf&uuml;hren und vieles mehr. Hier sind einige wichtige Linux-Befehle: ls: Zeigt den Inhalt des aktuellen Verzeichnisses an. cd: Wechselt das Verzeichnis. mkdir: Erstellt ein neues Verzeichnis. rm: L&ouml;scht&hellip;\" class=\"encyclopedia\">Befehl<\/a>e runden den Vorgang ab und konvertieren alles perfekt f&uuml;r das <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/git\/\" target=\"_self\" title=\"Git ist ein Open-Source-Tool, das f&uuml;r die Versionskontrolle von Software verwendet wird. Es wurde 2005 von Linus Torvalds, dem Sch&ouml;pfer des Linux-Betriebssystems-Kernels, entwickelt. Git erm&ouml;glicht es Entwicklern, &Auml;nderungen an einem Projekt zu verfolgen, zu protokollieren und darauf zuzugreifen. Es ist ein verteiltes Versionskontrollsystem, bei dem jeder Entwickler eine vollst&auml;ndige Kopie des Projekts besitzt, einschlie&szlig;lich der&hellip;\" class=\"encyclopedia\">Git<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git lfs install<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>git add -A<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>git commit -m 'Add .gitignore.'<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>for t in $(git for-each-ref --format='%(refname:short)' refs\/remotes\/tags); do git tag ${t\/tags\\\/\/} $t &amp;&amp; git branch -D -r $t; done<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>for b in $(git for-each-ref --format='%(refname:short)' refs\/remotes); do git branch $b refs\/remotes\/$b &amp;&amp; git branch -D -r $b; done<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>for p in $(git for-each-ref --format='%(refname:short)' | grep @); do git branch -D $p; done<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>git branch -d trunk<\/code><\/pre>\n\n\n\n<p>Das war die Konvertierung, jetzt k&ouml;nnen wir das komplette <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/pakete\/\" target=\"_self\" title=\"Unter Linux sind Pakete die grundlegenden Bausteine von Software, die von einem Paketmanager verwaltet werden. Ein Paket enth&auml;lt die ausf&uuml;hrbaren Dateien, Konfigurationsdateien, Dokumentation und Metadaten, die f&uuml;r die Installation und Verwaltung der Software ben&ouml;tigt werden.\" class=\"encyclopedia\">Paket<\/a> in das gew&uuml;nschte <a href=\"https:\/\/linux-bibel.at\/index.php\/enzyklopaedie\/git\/\" target=\"_self\" title=\"Git ist ein Open-Source-Tool, das f&uuml;r die Versionskontrolle von Software verwendet wird. Es wurde 2005 von Linus Torvalds, dem Sch&ouml;pfer des Linux-Betriebssystems-Kernels, entwickelt. Git erm&ouml;glicht es Entwicklern, &Auml;nderungen an einem Projekt zu verfolgen, zu protokollieren und darauf zuzugreifen. Es ist ein verteiltes Versionskontrollsystem, bei dem jeder Entwickler eine vollst&auml;ndige Kopie des Projekts besitzt, einschlie&szlig;lich der&hellip;\" class=\"encyclopedia\">Git<\/a>-Repo hochladen, Beispiel:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git remote add origin git@my-git-server:myrepo.git<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>git push origin --all<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>git push origin --tags<\/code><\/pre>\n\n\n\n<p>Bei gro&szlig;en Repos kann der Vorgang schon etwas dauern &ndash; aber, es lohnt sich.<\/p>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"16639\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">4    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"16639\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\"><\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Letztens musste ich mir Gedanken machen, wie man SVN-Repositorys zu Git konvertiert. Bei SVN handelt es sich um ein inzwischen veraltetes Versionsverwaltungssystem &#8211; es kann noch genutzt werden, aber Git hat einfach viel zu viele Vorteile. Doch wie bekommt man die Daten von einem SVN-Repo in ein Git-Repo &#8211; nat\u00fcrlich mit allen Commits, die man [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":16640,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-16639","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/16639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=16639"}],"version-history":[{"count":1,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/16639\/revisions"}],"predecessor-version":[{"id":16641,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/16639\/revisions\/16641"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/16640"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=16639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=16639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=16639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}