# Ein bestehendes Projekt in PhpStorm zum Git-Repository machen 🚀

Du hast also schon einen Projektordner mit PHP-Dateien und möchtest jetzt anfangen, Git dafür zu nutzen. Das ist ein sehr häufiger Anwendungsfall – und PhpStorm macht es dir dabei besonders leicht.

---

## Schritt-für-Schritt-Anleitung

1. **Projekt in PhpStorm öffnen**
   
   Falls noch nicht geschehen, öffne dein bestehendes Projekt über **File → Open** und wähle den Projektordner aus.

2. **Git-Repository initialisieren**
   
   Gehe im Menü auf **VCS → Enable Version Control Integration…** (alternativ findest du es manchmal unter **Git → Enable Version Control Integration…**, je nach PhpStorm-Version).
   
   Es öffnet sich ein kleines Dialogfenster, in dem du das Versionskontrollsystem auswählen kannst. Wähle **Git** aus und bestätige mit **OK**.

3. **Änderungen im Interface beobachten**
   
   Nach der Initialisierung passieren sofort sichtbare Dinge:
   
   - Die Dateinamen in der Projektansicht werden **rot eingefärbt** – das bedeutet, dass diese Dateien noch nicht von Git „getrackt" werden (also noch nicht zur Versionskontrolle hinzugefügt wurden).
   - Unten in PhpStorm erscheint ein neuer Reiter namens **Git** (neben „Terminal", „Problems" usw.), über den du später Commits, Branches und die Historie verwalten kannst.
   - Das Menü **VCS** wird teilweise durch **Git** ersetzt oder erweitert.

4. **Dateien zur Staging Area hinzufügen**
   
   Damit Git deine Dateien überhaupt „kennt", musst du sie **stagen**. Du kannst:
   
   - Im Projektbaum mit Rechtsklick auf eine Datei oder einen Ordner gehen und **Git → Add** wählen.
   - Oder einfach alle Dateien auf einmal hinzufügen: Rechtsklick auf den Projektstammordner → **Git → Add**.
   
   Die Dateien wechseln ihre Farbe von *rot* zu **grün** – das zeigt an, dass sie jetzt in der Staging Area liegen und beim nächsten Commit berücksichtigt werden.

5. **Ersten Commit erstellen**
   
   Jetzt ist der perfekte Moment für deinen **Initial Commit**:
   
   - Drücke `Ctrl + K` (Windows/Linux) oder `Cmd + K` (macOS) – oder gehe über **Git → Commit…**
   - Es öffnet sich das Commit-Fenster. Hier siehst du alle gestagten Dateien.
   - Gib eine **Commit-Message** ein, z. B.: `Initial commit: Projektstruktur hinzugefügt`
   - Klicke auf **Commit**.

   > 💡 *Tipp:* Beim ersten Commit ist es üblich, eine kurze, beschreibende Nachricht wie „Initial commit" zu verwenden. Später solltest du aussagekräftigere Messages schreiben.

---

## Was passiert dabei im Hintergrund? 🔍

Auch wenn PhpStorm dir die Arbeit abnimmt, laufen im Hintergrund ganz normale **Git-Befehle** ab. Hier die Entsprechung zu den Schritten oben:

| PhpStorm-Aktion | Git-Befehl im Terminal |
|-----------------|------------------------|
| „Enable Version Control Integration" mit Git | `git init` |
| Dateien per „Git → Add" hinzufügen | `git add <datei>` oder `git add .` |
| Commit erstellen | `git commit -m "Nachricht"` |

### Der versteckte `.git`-Ordner

Sobald du Git initialisierst, erstellt Git einen **versteckten Ordner** namens `.git` im Wurzelverzeichnis deines Projekts. Dieser Ordner enthält:

- Die **gesamte Versionshistorie** deines Projekts
- Informationen über Branches, Commits und Konfigurationen
- Die Staging Area (auch „Index" genannt)

> ⚠️ **Wichtig:** Lösche diesen Ordner niemals manuell, sonst verlierst du deine gesamte Git-Historie!

Du kannst den Ordner sehen, wenn du in deinem Dateimanager versteckte Dateien anzeigen lässt oder im Terminal `ls -la` (macOS/Linux) bzw. `dir /a` (Windows) eingibst.

---

## Die drei Zustände deiner Dateien – visualisiert

Nach der Initialisierung befinden sich deine Dateien zunächst nur im **Working Directory**. Durch das Hinzufügen wandern sie in die **Staging Area**, und erst durch den Commit landen sie im **Repository**:

```mermaid
flowchart LR
    A["📂 Working Directory<br>„Deine Dateien auf der Festplatte“"]
    B["📋 Staging Area<br>„Vorgemerkt für den nächsten Commit“"]
    C["🗄️ Repository<br>„Dauerhaft gespeicherte Versionen“"]

    A -->|"git add<br>„Git → Add“ in PhpStorm"| B
    B -->|"git commit<br>„Commit“ in PhpStorm"| C
```

---

## Was du jetzt hast

Nach diesen Schritten ist dein Projekt ein **vollwertiges lokales Git-Repository**. Du kannst ab sofort:

- Änderungen committen und eine Historie aufbauen
- Branches erstellen, um neue Features zu entwickeln
- Jederzeit zu früheren Versionen zurückkehren

Das Repository liegt aktuell nur **lokal auf deinem Computer**. Wenn du es später auf GitHub hochladen möchtest, um ein Backup zu haben oder mit anderen zusammenzuarbeiten, ist das ein separater Schritt – aber die Grundlage dafür hast du jetzt geschaffen. 🎉