Intro Git branches dev co
This commit is contained in:
48
README.md
48
README.md
@@ -22,7 +22,7 @@ Cloner un projet initial existant
|
||||
Comprendre le versionning + fork
|
||||
( sauvegarder l'état d'un projet : "> git commit" + "> git push" )
|
||||
Revenir dans le temps à un état de sauvegarde passé
|
||||
( grace à son identifiant unique : hash )
|
||||
( grace à son identifiant unique : hash/SHA )
|
||||
Auto-héberger une page sur GitLab
|
||||
( gratuit )
|
||||
|
||||
@@ -51,7 +51,7 @@ Depuis le terminal dans un dossier au choix
|
||||
> chromium ./public/index.html
|
||||
|
||||
1. lister les comit précédents
|
||||
2. revenir à telle version du projet ( + **hash** )
|
||||
2. revenir à telle version du projet ( + **hash/SHA** )
|
||||
|
||||
> git log --oneline
|
||||
> git checkout 117647b
|
||||
@@ -64,6 +64,34 @@ Depuis le terminal dans un dossier au choix
|
||||
( affichier le fichier index dans le navigateur pour voir )
|
||||
|
||||
|
||||
Une page en FRANCAIS qui résume les principales commandes GIT
|
||||
https://www.hostinger.fr/tutoriels/commandes-git
|
||||
|
||||
( dont l'initialisation et configurat )
|
||||
|
||||
! De façon générale, la documentation de Git est libre et en multi langues
|
||||
https://git-scm.com/docs
|
||||
|
||||
## GIT =?= GitLab/Hub
|
||||
|
||||
Git est un outil qui permet de créer et gérer des versions d'un projet
|
||||
On peut ainsi sauvegarder plusieurs fichiers modifiés d'un coup
|
||||
( en leur attribuant un identifiant unique + hash/SHA ... auquel se référer à l'avenir )
|
||||
Dans un developement à plusieurs, on peut, grâce à Git, avancer chacun sur une partie de l'écriture du projet
|
||||
et proposer par exemple des 'Branches' de dev. diférentes/divergentes, avancer sur une partie, tester...
|
||||
puis revenir en arrière si les modifications ne sont pas satisfaisantes ou posent problème ailleurs.
|
||||
|
||||
On peut ainsi avancer sur plusieurs fronts sans trop se géner quand on est à plusieurs sur un même code
|
||||
On peut aussi, pour les personnes exterieures au projet, observer les évolutions d'une version à l'autre
|
||||
|
||||
Une certaine transparence qui peut aider à déceler du code malveillant ou à critiquer certains choix
|
||||
La maléabilité d'un projet ainsi sauvegardé en de multiples versions aide un dev. souple et continu
|
||||
Si d'autres dev prennent une direction spécifique (branche) il sera ensuite possible de fusionner nos apports (merges)
|
||||
Et de régler alors d'éventuels conflits (si, par exemple nous avons travaillé sur la même portion de code)
|
||||
|
||||

|
||||
( source : https://roytuts.com/git-branching-workflows-how-to-work-with-different-branches/ )
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -329,13 +357,13 @@ https://code.visualstudio.com/docs/sourcecontrol/intro-to-git
|
||||
- puis commit - sauvegarde de cet état de cet état (staged) du projet,
|
||||
- puis envoi - push
|
||||
|
||||

|
||||

|
||||
( source : https://nulab.com/learn/software-development/git-tutorial/git-basics/ )
|
||||
|
||||

|
||||

|
||||
( source : https://tecadmin.net/basic-git-workflow/ )
|
||||
|
||||

|
||||

|
||||
( source : https://www.earthdatascience.org/workshops/intro-version-control-git/basic-git-commands/ )
|
||||
|
||||
|
||||
@@ -350,7 +378,7 @@ Quand un fichier est modifié, pour enregistrer son état actuel, ici, en local.
|
||||
.... Je peux indiquer ce qui marche et expliquer les modifications
|
||||
.... la dernière étape sera d'envoyer l'état actuel des fichers (**staged/stash**) et le commentaire du **commit** ... au serveur !
|
||||
... ! Pour l'user : D'autres utilisateur.ices pourrons ainsi se référer à ce point de sauvegarde
|
||||
..... ( par son nom et son identifiant unique **hash** )
|
||||
..... ( par son nom et son identifiant unique **hash/SHA** )
|
||||
..... restaurer ou étudier le code depuis ce point de sauvegarde
|
||||
... ! Pour la/le dev : **plutôt que d'envoyer un à un chaque fichier, cette méthode permet de tout synchroniser d'un coup**
|
||||
.... quand le commit est prêt on `git push` !
|
||||
@@ -490,10 +518,10 @@ préciser la branch à qui envoyer le commit (et fichiers)
|
||||
|
||||
# RESET / CHECKOUT (retour vers le passé/futur)
|
||||
|
||||
_RESET réinitialise l'état du projet par son **hash**_
|
||||
_RESET réinitialise l'état du projet par son **hash/SHA**_
|
||||
_CHECKOUT est moins permanent, il permet de retrouver l'état d'un projet sans réinitialiser l'état des fichiers modifiés_
|
||||
|
||||
à chaque commit un identifiant unique est créé (hash)
|
||||
à chaque commit un identifiant unique est créé (hash/SHA)
|
||||
> EX/ 27162d625d6665a824be74c281d07f6894f16888
|
||||
|
||||
On peut retrouver les commit ici ;
|
||||
@@ -507,7 +535,7 @@ En faisant un reset hard on retrouve les fichiers telque durant le dit commit
|
||||
## RAPPEL Git : REVENIR DANS LE FUTUR
|
||||
|
||||
**CHECKOUT permet de revenir à l'état d'un commit passé SANS RESET (réinitialiser) les fichiers locaux**
|
||||
_CHECKOUT marche pour les retour vers une version passée/futur : un commit (hash) /OU/ BRANCHE_
|
||||
_CHECKOUT marche pour les retour vers une version passée/futur : un commit (hash/SHA) /OU/ BRANCHE_
|
||||
|
||||
0. cloner un projet
|
||||
|
||||
@@ -521,7 +549,7 @@ Depuis le terminal dans un dossier au choix
|
||||
> chromium ./public/index.html
|
||||
|
||||
1. lister les comit précédents
|
||||
2. revenir à telle version du projet ( + **hash** )
|
||||
2. revenir à telle version du projet ( + **hash/SHA** )
|
||||
|
||||
> git log --oneline
|
||||
> git checkout 117647b
|
||||
|
||||
Reference in New Issue
Block a user