Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

first-project-c1

Création d'un projet en local via git

Dans le projet de travail sur notre ordinateur, first-proj-c1, nous avons créé un fichier README.md et un dossier img qui contiendra des captures d'écran.

Si on fait un git status, nous obtenons une erreur : fatal: not a git repository (or any of the parent directories): .git

Les zones

Zones

Création d'un dépôt git

Ouvrez la console et tapez :

git init

Un dossier caché est créé, il se nomme .git. C'est lui qui va contenir les fichiers et l'historique de travail. ce fichier .git ne devra pas être envoyé via FTP.

Pour l'exemple, on va créer un dossier 'test' vide : Lorsque l'on fait un git status, on constate le dossier test n'est pas reconnu. Les dossiers vides ne sont reconnus !

Zone de working

Ouvrez la console et tapez :

git status

Lorsque le texte après un git status est en rouge, c'est que git les a détectés, mais qu'ils ne sont pas mis dans la future sauvegarde.

Zone de staging

Nous allons utiliser git add pour ajouter les fichiers au staging :

# ajoute un seul fichier
git add lenomdunfichier.txt

# ajoute tous les fichiers
git add .

Pour retirer du staging si on a pas encore celui-ci dans un commit :

git rm --cached nomdufichier

Pour retirer du staging si on a déjà du commit :

git restore --staged nomdufichier.

Lorsque nous allons refaire un git status, les fichiers qui sont prêts à être sauvegardés seront en vert, ceux qui ne seront pas sauvegardés restent en rouge

Zone de repository local

Nous allons sauvegarder un fichier en utilisant le commit :

# sauvegarde avec commentaire
git commit -m"First commit with README.md"

Voir les commit

Permet de voir

git log

Zone de repository remote

Nous allons créer un repository sur github, public ou privé, sans cocher les autres options (il ne doit pas y avoir de commit sur github autres que ceux en local)

création d'un répertoire

Nous devons récupérer le répertoire en SSH si nous utilisons l'échange de clef : Lier avec SSH ou en https.

Nous retournons dans la console, et nous allons lier le projet local avec le projet distant :

# on s'assure que que la branche soit `main`
git branch -M main

# On ajoute notre lien vers le répertoire `github`
git remote add origin git@github.com:WebDevCF2m2025/first-project-c1.git

On peut vérifier le lien avec :

git remote -v 

Nous pouvons maintenant envoyer notre travail en ligne sur github :

# le -u n'est à mettre que la première fois
# il équivaut à git push --set-upstream origin main
git push -u origin main

Nous pourrons ensuite envoyer notre travail sur origin main avec :

git push

Récupération du reposity

Pour récupérer simplement un repository, on peut utiliser le clonage (la première fois !), dont on est propriétaire (ou un fork) :

git clone CLEF_SSH (ou https)
cd nom_du_repertoire
# pour aller voir le remote créé 
git remote -v


Et nous pouvons travailler en local sur le projet. 

### Récupération de commit

Pour récupérer les nouveaux commit ou commit non présents en local (par exemple travail sur plusieurs machines) : 

```bash
# recupere le dossier .git (vérification de modification)
git fetch

# si il y a des changements, récupération du dossier .git 
# Et des fichiers physiques
git pull

Retour sur un commit

On peut revenir sur un ancien commit, sans perdre les fichiers

# on avait envoyé 4 commits en ligne 
git push

# retourne sur un ancien commit 
# ! disparition des commits qui suivent 
git restore 0901dfac84

# on back 3 commits, 
# sans modifier les fichiers physiques 
# en créant un nouveau commit
git add .
git commit -m"-3 commits + save files"

Si on effectue un git pushon aura une erreur car il y a une incompatibilité de la chaîne de commit, une bifurcation.

**seule possibilité : forcer le push :

git push --force origin main 

On peut revenir sur un ancien commit en remettant les fichiers à l'état de ce commit

# création d'un fichier
echo "blabla"> f.txt
git add . 
git commit  -m"f.txt"
git push

# création d'un deuxième fichier
echo "blabla"> f2.txt
git add . 
git commit  -m"f2.txt"
git push

# on avait envoyé 2 commits en ligne 
git push

# retourne sur un ancien commit 
# ! disparition des commits qui suivent
# ! disparition des fichiers ou modifications de ceux-ci 
git reset --hard 0901dfac84

# on back 3 commits, 
# sans modifier les fichiers physiques 
# en créant un nouveau commit
git add .
git commit -m"-3 commits + save files"

Si on effectue un git pushon aura une erreur car il y a une incompatibilité de la chaîne de commit, une bifurcation.

**seule possibilité : forcer le push :

git push --force origin main 

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors