# Utilisation de Git avec GitHub pour un Projet Symfony
## Introduction
Cette documentation fournit un guide détaillé pour utiliser **Git** dans la gestion
de version de votre projet Symfony et sauvegarder votre code sur **GitHub**.
### Prérequis
- Avoir installé Git sur votre système.
- Un compte GitHub pour stocker votre code en ligne.
---
## Étapes de Configuration et de Gestion de Git
### 1. Initialiser un Dépôt Git
```bash
git init
```
> Cette commande crée un nouveau dépôt Git dans le répertoire courant, initialisant
un dossier `.git` pour contenir la configuration et l'historique de votre projet.
### 2. Configurer Git
Configurer votre nom d'utilisateur et votre e-mail pour identifier les auteurs des
commits.
```bash
git config --global [Link] "VotreNom"
git config --global [Link] "votremail@[Link]"
```
> La commande `--global` applique la configuration à tous les dépôts sur votre
système. Vous pouvez omettre `--global` pour configurer localement pour ce dépôt.
### 3. Créer un fichier `.gitignore`
Ajoutez un fichier `.gitignore` pour ignorer les fichiers non pertinents.
```gitignore
/var/
/vendor/
/.env
```
### 4. Ajouter tous les fichiers du projet à Git
```bash
git add .
```
> Cette commande ajoute tous les fichiers de votre projet au suivi de Git, exceptés
ceux définis dans `.gitignore`.
### 5. Créer un Commit Initial
```bash
git commit -m "Initial commit"
```
> Crée un "snapshot" de l’état actuel des fichiers suivis. Le message `"Initial
commit"` indique qu'il s'agit du premier enregistrement du projet.
---
## Lier le Dépôt GitHub et Envoyer les Modifications
### 6. Lier le Dépôt Local à GitHub
Sur GitHub, créez un dépôt sans ajouter de fichier `README` ou `.gitignore`, puis
liez le dépôt local.
```bash
git remote add origin [Link]
```
### 7. Envoyer les Commits Locaux vers GitHub
```bash
git push -u origin main
```
> La commande `push` envoie les commits locaux vers GitHub. L'option `-u` associe
la branche locale `main` avec la branche `main` distante.
---
## Travailler avec des Branches
### 8. Créer une Branche pour une Fonctionnalité
```bash
git checkout -b feature-auth
```
> Crée une nouvelle branche `feature-auth` pour développer une fonctionnalité sans
affecter le code principal.
### 9. Fusionner une Branche dans `main`
```bash
git checkout main
git merge feature-auth
```
---
## Gestion des Mises à Jour et Historique
### 10. Mettre à Jour le Dépôt Local avec GitHub
```bash
git pull origin main
```
> Récupère les modifications de GitHub et les intègre dans le dépôt local.
### 11. Consulter l'Historique des Commits
```bash
git log
```
> Affiche tous les commits, leurs identifiants, auteurs, dates et messages
associés.
---
## Annuler des Modifications
### Annuler un Fichier Modifié avant un Commit
```bash
git checkout -- chemin/du/fichier
```
### Annuler le Dernier Commit Non Poussé
```bash
git reset --soft HEAD~1
```
---
## Résumé des Commandes
```bash
git init
git add .
git commit -m "Initial commit"
git remote add origin [Link]
git push -u origin main
```
Ce guide vous permet de gérer efficacement votre projet Symfony avec Git et GitHub.
Appliquez ces commandes et bonnes pratiques pour une gestion optimisée du code.