Bereits existierende Dateien einem GitLab Repository hinzufügen – komplette Anleitung für Server, Git und Linux

Viele Entwickler kennen die Situation: Eine Website, ein WordPress Projekt oder eine Anwendung existiert bereits seit Monaten auf dem Server oder auf dem lokalen PC, wurde aber nie mit Git versioniert. Spätestens wenn Änderungen unübersichtlich werden oder man im Team zusammenarbeitet, lohnt es sich, ein Git Repository einzurichten. In diesem Beitrag zeige ich dir Schritt für Schritt, wie du ein bestehendes Projekt zu GitHub oder GitLab hochlädst und welche Git Befehle und Linux Befehle du dafür brauchst. Zusätzlich erhältst du Best Practices, Tipps für Commit Messages, eine Einführung in Gitmoji sowie ein FAQ und Glossar.

Warum ein bestehendes Projekt in ein Git Repository integrieren?

Versionierung ist ein wichtiger Teil moderner Softwareentwicklung. Git sorgt dafür, dass du deinen Code kontrolliert verwalten kannst. Das gilt auch für Projekte, die ursprünglich ohne Git gestartet wurden. Mit einem zentralen Repository auf GitHub oder GitLab profitierst du von:

  • Sicherer Versionskontrolle
  • Rückgängig machen von Fehlern
  • Nachvollziehbaren Änderungen
  • Strukturierter Teamarbeit
  • Automatisierungen für Tests oder Deployments
  • Übersichtlichen Backups

Vor allem Webprojekte wie WordPress, Node.js, Laravel oder statische Webseiten profitieren deutlich von Git.

Szenario 1: Dein Git Repository ist noch leer

Wenn dein Repository auf GitHub oder GitLab noch keine Dateien enthält, kannst du direkt im Ordner des bestehenden Projekts starten.

Schritt 1: In das Projektverzeichnis wechseln

cd /pfad/zu/deinem/projekt

Schritt 2: Git initialisieren

git init

Schritt 3: Dateien hinzufügen

git add -A

Schritt 4: Erster Commit

git commit -m "Initial commit - bestehendes Projekt"

Schritt 5: Remote Repository verbinden

git remote add origin https://github.com/user/projekt.git
# oder:
git remote add origin https://gitlab.com/user/projekt.git

Schritt 6: Branch anlegen bzw. umbenennen

git branch -M main

Schritt 7: Dateien hochladen

git push -u origin main

Damit befindet sich dein komplettes bestehendes Projekt im Repository.

Szenario 2: Repository enthält bereits Dateien (z. B. README, .gitignore)

Viele GitHub und GitLab Repositories enthalten große Dateien wie README.md oder Beispielkonfigurationen. In diesem Fall ist es einfacher, das Repository zuerst zu klonen.

Schritt 1: Projektordner umbenennen

mv projekt projekt.bkp

Schritt 2: Repository klonen

git clone https://github.com/user/projekt.git projekt

oder

git clone https://gitlab.com/user/projekt.git projekt

Schritt 3: Alte Dateien in das neue Repo kopieren

cp -a projekt.bkp/. projekt/

Schritt 4: Dateien zu Git hinzufügen

cd projekt
git add -A

Schritt 5: Commit erstellen

git commit -m "Import bestehendes Projekt"

Schritt 6: Änderungen hochladen

git push -u origin main

Übersicht über wichtige Git Befehle und Linux Befehle

AufgabeBefehlBeschreibung
Git Repository erstellengit initLegt ein neues Git Repository an
Dateien hinzufügengit add -AFügt alle Dateien dem Index hinzu
Commit speicherngit commit -m „Text“Erstellt eine Änderungsversion
Remote verbindengit remote add origin URLVerknüpft lokal und Remote
Repo klonengit clone URLLädt ein Remote Repo herunter
Branch setzengit branch -M mainErstellt oder setzt den main Branch
Pushengit push -u origin mainÜberträgt den Code ins Remote
Ordner kopierencp -a alt/. neu/Kopiert Dateien inkl. Berechtigungen
Ordner umbenennenmv alt neuBenennt Dateien oder Verzeichnisse um

Commit Messages richtig schreiben

Gute Commit Messages machen die Versionierung klar und nachvollziehbar. Eine saubere Struktur hat sich dabei als Best Practice etabliert.

Tipps für gute Commit Messages

  • Schreibe im Imperativ: „Add“, „Fix“, „Update“
  • Halte die Nachricht kurz und verständlich
  • Nutze bei Bedarf optionale Erklärungen in einer zweiten Zeile
  • Vermeide Unspezifisches wie „Update“, „Fixes“, „Änderung“

Beispiele

  • Add initial project structure
  • Fix menu alignment on mobile
  • Update dependencies
  • Remove deprecated plugin

Was sind Gitmojis?

Gitmoji ist ein Community Projekt, das Emojis für Commit Messages bereitstellt. Dadurch wird auf einen Blick sichtbar, was ein Commit macht.

EmojiBedeutung
🎉 (:tada:)Projektstart
🐛(:bug:)Bugfix
✨(:sparkles:)Neues Feature
🔧(:wrench:)Konfigurationsänderungen
🔥(:fire:)Entfernt Code oder Dateien
📝(:memo:)Dokumentation

Diese Ergänzungen sind optional, machen Commit Historien aber oft übersichtlicher und moderner.

Tipps, Tricks und Best Practices

Ein paar bewährte Hinweise zur Versionierung von bestehenden Projekten:

  • Verwende konsequent eine .gitignore, um unnötige Dateien zu vermeiden
  • Tracke niemals große Upload Ordner oder Cache Verzeichnisse
  • Arbeite mit Branches für neue Funktionen
  • Führe regelmäßig kleine Commits durch statt riesiger Sammelcommits
  • Nutze SSH Keys für GitHub oder GitLab für bequemeres Arbeiten
  • Prüfe vor dem Push immer mit git status, ob alles korrekt erscheint

FAQ

Kann ich Git für jedes Projekt nutzen?
Ja, Git eignet sich für Websites, Datenbanken, Skripte, Backups, Webanwendungen und vieles mehr.

Sollte ich Bilder und Upload Dateien versionieren?
Nein, diese gehören normalerweise in den Webspace oder ein CDN, nicht ins Repo.

Was mache ich bei Konflikten?
Git markiert die betroffenen Stellen. Diese müssen manuell korrigiert werden.

Kann ich mehrere Remote Repositories nutzen?
Ja, ein Projekt kann mehrere Remotes haben, z. B. GitHub und GitLab gleichzeitig.

Glossar

Git Repository
Zentrale oder lokale Projektstruktur, die Versionen speichert.

GitHub / GitLab
Plattformen zum Hosten von Git Repositories.

Commit
Gespeicherte Änderung mit Nachricht.

Push
Überträgt lokale Änderungen ins Remote Repository.

Clone
Lädt ein bestehendes Repository herunter.

Branch
Paralleler Entwicklungszweig für neue Features.

Index
Staging Bereich zwischen Arbeitsordner und Commit.

Durchschnittliche Bewertung 0 / 5. Bewertungen: 0

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen