# Aucun code pour cette étape
Pratique :
Familiarisez-vous avec les concepts de base de Git et son importance dans le développement logiciel.
bash
sudo apt-get update
sudo apt-get install git
`` bash
brew install git
`` # Vérifiez l'installation avec:
git --version
Pratique :
Installez Git sur votre système en suivant les instructions correspondant à votre OS. Vérifiez ensuite que l'installation a réussi en exécutant 'git --version' dans votre terminal.
git config --global user.name "Votre Nom"
git config --global user.email "votre@email.com"
# Vérifiez la configuration
git config --list
Pratique :
Configurez Git avec votre nom et votre email. Vérifiez ensuite votre configuration avec 'git config --list'.
# Créer un nouveau repository
git init
# Faire un commit
git commit -m "Description des changements"
# Créer une nouvelle branche
git branch nom_de_la_branche
# Fusionner une branche
git merge nom_de_la_branche
Pratique :
Pour chaque concept (repository, commit, branch, merge), essayez d'expliquer son rôle dans vos propres mots. Imaginez ensuite un petit projet et décrivez comment vous utiliseriez chacun de ces concepts dans ce projet.
mkdir mon_projet
cd mon_projet
git init
git status
Pratique :
Créez un nouveau dossier pour votre projet, initialisez-y un dépôt Git, puis vérifiez son statut avec 'git status'.
echo "# Mon Projet" > README.md
git add README.md
git commit -m "Initial commit: Ajout du fichier README"
Pratique :
Créez un fichier README.md, ajoutez-le à l'index avec 'git add', puis effectuez votre premier commit.
git log
git log --oneline --graph --all
Pratique :
Faites plusieurs commits, puis explorez l'historique de votre dépôt en utilisant différentes options de la commande 'git log'.
git branch feature-x
git checkout feature-x
# ou en une seule commande :
git checkout -b feature-y
Pratique :
Créez une nouvelle branche pour une fonctionnalité, basculez dessus, et faites quelques commits.
git checkout main
git merge feature-x
Pratique :
Fusionnez la branche que vous avez créée précédemment dans la branche principale (main).
git merge feature-y
# Si un conflit apparaît, éditez les fichiers, puis :
git add .
git commit -m "Résolution des conflits de fusion"
Pratique :
Créez intentionnellement un conflit en modifiant le même fichier sur deux branches, puis fusionnez-les et résolvez le conflit.
git remote add origin https://github.com/votre-nom/mon-projet.git
git push -u origin main
Pratique :
Créez un dépôt sur GitHub, liez-le à votre dépôt local, puis poussez vos commits.
git fetch origin
git pull origin main
Pratique :
Simulez des changements sur le dépôt distant (ou collaborez avec quelqu'un), puis récupérez ces changements localement.
echo "*.log
node_modules/
build/" > .gitignore
git add .gitignore
git commit -m "Ajout du fichier .gitignore"
Pratique :
Créez un fichier .gitignore adapté à votre projet et committez-le.
git checkout feature-z
git rebase main
Pratique :
Créez une branche, faites quelques commits, puis utilisez rebase pour l'intégrer proprement à la branche principale.
git cherry-pick <commit-hash>
git reflog
Pratique :
Utilisez cherry-pick pour appliquer un commit spécifique d'une branche à une autre. Explorez ensuite l'historique de vos actions avec reflog.
git commit -m "feat: Ajoute une fonctionnalité de recherche avancée"
git pull --rebase origin main
Pratique :
Révisez vos derniers commits pour améliorer leurs messages. Simulez un flux de travail complet : création de branche, commits, rebase, et merge.
# Initialisation du projet
git init mon-site-web
cd mon-site-web
# Création des fichiers de base
echo '<!DOCTYPE html><html><head><title>Mon Site</title></head><body><h1>Bienvenue</h1></body></html>' > index.html
echo '/* Styles de base */' > styles.css
# Premier commit
git add .
git commit -m "Initial commit: structure de base du site"
# Création d'une branche pour une nouvelle fonctionnalité
git checkout -b feature-nav
# Ajout d'une barre de navigation
echo '<nav><ul><li>Accueil</li><li>À propos</li><li>Contact</li></ul></nav>' >> index.html
git commit -am "Ajout d'une barre de navigation"
# Retour à la branche principale et création d'une autre branche
git checkout main
git checkout -b feature-footer
# Ajout d'un pied de page
echo '<footer>© 2024 Mon Site</footer>' >> index.html
git commit -am "Ajout d'un pied de page"
# Fusion des branches
git checkout main
git merge feature-nav
git merge feature-footer
# Gestion d'un conflit (si nécessaire)
# Éditez manuellement index.html pour résoudre le conflit
git add index.html
git commit -m "Fusion des branches nav et footer, résolution des conflits"
# Simulation d'un dépôt distant
git remote add origin https://github.com/votre-nom/mon-site-web.git
git push -u origin main
# Simulation d'un changement distant
git checkout -b feature-remote
echo '<script src="app.js"></script>' >> index.html
git commit -am "Ajout d'un lien vers un fichier JavaScript"
git push -u origin feature-remote
# Récupération et intégration des changements distants
git checkout main
git pull origin main
git merge origin/feature-remote
# Nettoyage
git branch -d feature-nav feature-footer feature-remote
Pratique :
Suivez les étapes du code exemple pour simuler le développement d'un petit site web. À chaque étape, prenez le temps de comprendre ce que vous faites et pourquoi. Essayez de prédire le résultat de chaque commande avant de l'exécuter. Après avoir terminé, réfléchissez à la façon dont Git a facilité le processus de développement et de collaboration.