<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Versionsverwaltung on Ben's Lab</title><link>https://benjamin.hedert.de/tags/versionsverwaltung/</link><description>Recent content in Versionsverwaltung on Ben's Lab</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>Benjamin Hedert</copyright><lastBuildDate>Mon, 07 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://benjamin.hedert.de/tags/versionsverwaltung/index.xml" rel="self" type="application/rss+xml"/><item><title>Git Repository ohne Repository Manager</title><link>https://benjamin.hedert.de/p/git-repository-ohne-repository-manager/</link><pubDate>Mon, 07 Sep 2026 00:00:00 +0000</pubDate><guid>https://benjamin.hedert.de/p/git-repository-ohne-repository-manager/</guid><description>&lt;img src="https://benjamin.hedert.de/p/git-repository-ohne-repository-manager/titelbild.jpg" alt="Featured image of post Git Repository ohne Repository Manager" />&lt;h1 id="wozu-das-gut-ist">Wozu das gut ist
&lt;/h1>&lt;p>Wenn kein Git Repository Manager wie Github, Bitbucket oder ähnliches verwendet
werden soll und man nur ein Repository (ohne das Webbackend usw.) braucht,
reicht ggf. eine einfaches Bare-Repository.
Interessant kann es auch werden, wenn man mit Git-Hooks zB. automatisch eine
Webseite aktualisieren will ohne sich auf dem Server einloggen zu müssen.
So läuft es nebenbei auch hier.&lt;/p>
&lt;h2 id="bare-repository-erstellen">Bare Repository erstellen
&lt;/h2>&lt;p>Zuerst erstellt man auf der Zielplattform, zB. einem anderen Ordner, einem Ordner
auf dem Netzlaufwerk oder einem Server auf dem man SSH-Zugriff hat einen Ordner.
Persönlich würde ich ihn &lt;code>&amp;lt;Projektname&amp;gt;.git&lt;/code> nennen.
Anschließend geht man mit der Bash/Kommandozeile in dieses Verzeichnis und führt
folgenden Befehl aus:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git init --bare
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Dadurch wird das zentrale Ziel für dieses Projekt erstellt.&lt;/p>
&lt;h2 id="zugang-herstellen">Zugang herstellen
&lt;/h2>&lt;p>Je nach Ziel kann nun ein Arbeitsverzeichnis erstellt werden. Das können auch
viele Entwickler paralell machen.&lt;/p>
&lt;h3 id="beim-bare-repository-im-lokalen-verzeichnis">Beim Bare-Repository im lokalen Verzeichnis
&lt;/h3>&lt;p>Im lokalen Verzeichnis lässt sich ganz einfach ein Arbeitsrepository erstellen und beginnen.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git clone &amp;lt;Pfad zB. ./Repo/Project.git&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="bei-einem-bare-repository-auf-einem-server">Bei einem Bare-Repository auf einem Server
&lt;/h3>&lt;p>Falls Zugänge nötig sind zB. ein SSH-Key muss sich nun darum gekümmert werden.
Wenn der Zugriff gegeben ist, kann man anschließend mit folgendem Befehl
ein Arbeitsrepository erstellt werden&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git clone &amp;lt;user&amp;gt;@&amp;lt;domain/IP&amp;gt;:/&amp;lt;Pfad&amp;gt;/&amp;lt;Project&amp;gt;.git
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Anschließend kann ganz normal wie mit jedem Git Repository gearbeitet werden.&lt;/p>
&lt;p>&lt;small>Bildnachweis&lt;/small>
&lt;small>&lt;a class="link" href="https://git-scm.com" target="_blank" rel="noopener"
>Git Logo&lt;/a> von &lt;a class="link" href="https://github.com" target="_blank" rel="noopener"
>Jason Long&lt;/a>, lizenziert unter &lt;a class="link" href="https://creativecommons.org" target="_blank" rel="noopener"
>CC BY 3.0&lt;/a>.&lt;/small>&lt;/p></description></item><item><title>Git Repository umziehen</title><link>https://benjamin.hedert.de/p/git-repository-umziehen/</link><pubDate>Mon, 07 Sep 2026 00:00:00 +0000</pubDate><guid>https://benjamin.hedert.de/p/git-repository-umziehen/</guid><description>&lt;img src="https://benjamin.hedert.de/p/git-repository-umziehen/titelbild.jpg" alt="Featured image of post Git Repository umziehen" />&lt;h1 id="wozu-das-gut-ist">Wozu das gut ist
&lt;/h1>&lt;p>Es kann vorkommen, dass man ein Git-Repository von einem Server auf einen anderen
umziehen möchte oder muss. Wenn es nicht reicht den aktuellen Stand vom Code
mitzunehmen und man alle Tags, Branches und Commits behalten will, und somit
auch später die ganze Historie hat geht man am besten wie folgt vor:&lt;/p>
&lt;h2 id="altes-repository-klonen">Altes Repository klonen
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git clone --mirror &amp;lt;Repository-URL&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Mit diesem Befehl wird der komplette Inhalt aller Branches gesichert. Der Parameter
&amp;ndash;mirror macht den Unterschied zum normalen clone.&lt;/p>
&lt;h2 id="verschieben">Verschieben
&lt;/h2>&lt;p>Den neu entstandenen Ordner verschiebt man ggf. auf den andern Laptop o.ä.
Es ist ein bare-Repository.&lt;/p>
&lt;h2 id="neues-projekt-anlegen">Neues Projekt anlegen
&lt;/h2>&lt;p>Auf dem Zielserver Gitea, Forgejo, Bitbucket, Github o.ä. legt man ein neues
komplett leeres Repo (auch ohne README.md) an.&lt;/p>
&lt;h2 id="alles-hochladen">Alles hochladen
&lt;/h2>&lt;p>Mit folgendem Befehl wird das gesamte Repo hochgeladen:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git push --mirror &amp;lt;Neue-Repository-URL&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Wenn dies abgeschlossen ist, kann man sich mit git clone einen Klon machen und
weiterarbeiten.&lt;/p>
&lt;p>&lt;small>Bildnachweis&lt;/small>
&lt;small>&lt;a class="link" href="https://git-scm.com" target="_blank" rel="noopener"
>Git Logo&lt;/a> von &lt;a class="link" href="https://github.com" target="_blank" rel="noopener"
>Jason Long&lt;/a>, lizenziert unter &lt;a class="link" href="https://creativecommons.org" target="_blank" rel="noopener"
>CC BY 3.0&lt;/a>.&lt;/small>&lt;/p></description></item></channel></rss>