user@machine tstn1-22-23 (tstn1-22-23)
$ mkdir demo
user@machine tstn1-22-23 (tstn1-22-23)
$ cd demo
user@machine demo (tstn1-22-23)
$ git init
Dépôt Git vide initialisé dans demo/.git/
user@machine demo (master)
$ echo "# Dépôt démonstration" > README.md
user@machine demo (master)
$ cat README.md
# Dépôt démonstration
user@machine demo (master)
$ echo "# Dépôt démonstration TSTN1" > README.md
user@machine demo (master)
$ cat README.md
# Dépôt démonstration TSTN1
user@machine demo (master)
$ echo "Deuxième ligne" >> README.md
user@machine demo (master)
$ cat README.md
# Dépôt démonstration TSTN1
Deuxième ligne
user@machine demo (master)
$
user@machine demo (master)
$
user@machine demo (master)
$
user@machine demo (master)
$
user@machine demo (master)
$
user@machine demo (master)
$ git status
Sur la branche master
Aucun commit
Fichiers non suivis:
(utilisez "git add <fichier>..." pour inclure dans ce qui sera validé)
README.md
aucune modification ajoutée à la validation mais des fichiers non suivis sont présents (utilisez "git add" pour les suivre)
user@machine demo (master)
$ git add README.md
user@machine demo (master)
$ git status
Sur la branche master
Aucun commit
Modifications qui seront validées :
(utilisez "git rm --cached <fichier>..." pour désindexer)
nouveau fichier : README.md
user@machine demo (master)
$
user@machine demo (master)
$
user@machine demo (master)
$
user@machine demo (master)
$
user@machine demo (master)
$
user@machine demo (master)
$ git commit -m "initial commit"
[master (commit racine) 62f5d06] initial commit
1 file changed, 2 insertions(+)
create mode 100644 README.md
user@machine demo (master)
$ git status
Sur la branche master
rien à valider, la copie de travail est propre
user@machine demo (master)
$ git log
commit 62f5d0601aed78474dc9fc2db5c4f133728f0a3c (HEAD -> master)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:01:47 2023 +0200
initial commit
user@machine demo (master)
$ echo "Documentation Linux" > linux.txt
user@machine demo (master)
$ git status
Sur la branche master
Fichiers non suivis:
(utilisez "git add <fichier>..." pour inclure dans ce qui sera validé)
linux.txt
aucune modification ajoutée à la validation mais des fichiers non suivis sont présents (utilisez "git add" pour les suivre)
user@machine demo (master)
$ git add linux.txt
user@machine demo (master)
$ git commit -m "Ajout documentation"
[master 9544f8e] Ajout documentation
1 file changed, 1 insertion(+)
create mode 100644 linux.txt
user@machine demo (master)
$
user@machine demo (master)
$ git status
Sur la branche master
rien à valider, la copie de travail est propre
user@machine demo (master)
$ git log
commit 9544f8e445a2258e9a595d01e8f85a9d44440ed7 (HEAD -> master)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:03:08 2023 +0200
Ajout documentation
commit 62f5d0601aed78474dc9fc2db5c4f133728f0a3c
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:01:47 2023 +0200
initial commit
user@machine demo (master)
$ git tag v1_0
user@machine demo (master)
$ git log
commit 9544f8e445a2258e9a595d01e8f85a9d44440ed7 (HEAD -> master, tag: v1_0)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:03:08 2023 +0200
Ajout documentation
commit 62f5d0601aed78474dc9fc2db5c4f133728f0a3c
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:01:47 2023 +0200
initial commit
user@machine demo (master)
$
user@machine demo (master)
$ echo programme.c
programme.c
user@machine demo (master)
$ nano programme.c
user@machine demo (master)
$ git status
Sur la branche master
Fichiers non suivis:
(utilisez "git add <fichier>..." pour inclure dans ce qui sera validé)
programme.c
aucune modification ajoutée à la validation mais des fichiers non suivis sont présents (utilisez "git add" pour les suivre)
user@machine demo (master)
$ git add programme.c
user@machine demo (master)
$ git commit -m "Version en cours de développement"
[master edecf70] Version en cours de développement
1 file changed, 14 insertions(+)
create mode 100644 programme.c
user@machine demo (master)
$
user@machine demo (master)
$ git log
commit edecf7025f7af2302e826b3b153781c41c370d6c (HEAD -> master)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:06:39 2023 +0200
Version en cours de développement
commit 9544f8e445a2258e9a595d01e8f85a9d44440ed7 (tag: v1_0)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:03:08 2023 +0200
Ajout documentation
commit 62f5d0601aed78474dc9fc2db5c4f133728f0a3c
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:01:47 2023 +0200
initial commit
user@machine demo (master)
$
user@machine demo (master)
$ git checkout v1_0
Note : basculement sur 'v1_0'.
Vous êtes dans l'état « HEAD détachée ». Vous pouvez visiter, faire des modifications
expérimentales et les valider. Il vous suffit de faire un autre basculement pour
abandonner les commits que vous faites dans cet état sans impacter les autres branches
Si vous voulez créer une nouvelle branche pour conserver les commits que vous créez,
il vous suffit d'utiliser l'option -c de la commande switch comme ceci :
git switch -c <nom-de-la-nouvelle-branche>
Ou annuler cette opération avec :
git switch -
Désactivez ce conseil en renseignant la variable de configuration advice.detachedHead à false
HEAD est maintenant sur 9544f8e Ajout documentation
user@machine demo ((v1_0))
$
user@machine demo ((v1_0))
$ git branch
* (HEAD détachée sur v1_0)
master
user@machine demo ((v1_0))
$ git branch bug857
user@machine demo ((v1_0))
$ git checkout bug857
Basculement sur la branche 'bug857'
user@machine demo (bug857)
$ git status
Sur la branche bug857
rien à valider, la copie de travail est propre
user@machine demo (bug857)
$ ll
total 16
-rw-r--r-- 1 lauhub staff 47 19 jui 09:00 README.md
-rw-r--r-- 1 lauhub staff 20 19 jui 09:02 linux.txt
user@machine demo (bug857)
$ nano linux.txt
user@machine demo (bug857)
$ git status
Sur la branche bug857
Modifications qui ne seront pas validées :
(utilisez "git add <fichier>..." pour mettre à jour ce qui sera validé)
(utilisez "git restore <fichier>..." pour annuler les modifications dans le répertoire de travail)
modifié : linux.txt
aucune modification n'a été ajoutée à la validation (utilisez "git add" ou "git commit -a")
user@machine demo (bug857)
$
user@machine demo (bug857)
$ git status
Sur la branche bug857
Modifications qui ne seront pas validées :
(utilisez "git add <fichier>..." pour mettre à jour ce qui sera validé)
(utilisez "git restore <fichier>..." pour annuler les modifications dans le répertoire de travail)
modifié : linux.txt
aucune modification n'a été ajoutée à la validation (utilisez "git add" ou "git commit -a")
user@machine demo (bug857)
$ git mv linux.txt linux.md
user@machine demo (bug857)
$ git status
Sur la branche bug857
Modifications qui seront validées :
(utilisez "git restore --staged <fichier>..." pour désindexer)
renommé : linux.txt -> linux.md
Modifications qui ne seront pas validées :
(utilisez "git add <fichier>..." pour mettre à jour ce qui sera validé)
(utilisez "git restore <fichier>..." pour annuler les modifications dans le répertoire de travail)
modifié : linux.md
user@machine demo (bug857)
$ git add linux.md
user@machine demo (bug857)
$ git status
Sur la branche bug857
Modifications qui seront validées :
(utilisez "git restore --staged <fichier>..." pour désindexer)
nouveau fichier : linux.md
supprimé : linux.txt
user@machine demo (bug857)
$ git commit -m "Correction bug 857"
[bug857 da033f6] Correction bug 857
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 linux.md
delete mode 100644 linux.txt
user@machine demo (bug857)
$ git status
Sur la branche bug857
rien à valider, la copie de travail est propre
user@machine demo (bug857)
$ git log
commit da033f69b241169143958caa7b10309cc5dc29e5 (HEAD -> bug857)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:25:20 2023 +0200
Correction bug 857
commit 9544f8e445a2258e9a595d01e8f85a9d44440ed7 (tag: v1_0)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:03:08 2023 +0200
Ajout documentation
commit 62f5d0601aed78474dc9fc2db5c4f133728f0a3c
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:01:47 2023 +0200
initial commit
user@machine demo (bug857)
$
user@machine demo (bug857)
$ git checkout master
Basculement sur la branche 'master'
user@machine demo (master)
$ git log
commit edecf7025f7af2302e826b3b153781c41c370d6c (HEAD -> master)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:06:39 2023 +0200
Version en cours de développement
commit 9544f8e445a2258e9a595d01e8f85a9d44440ed7 (tag: v1_0)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:03:08 2023 +0200
Ajout documentation
commit 62f5d0601aed78474dc9fc2db5c4f133728f0a3c
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:01:47 2023 +0200
initial commit
user@machine demo (master)
$ git rebase bug857
Rembobinage préalable de head pour pouvoir rejouer votre travail par-dessus...
Application de Version en cours de développement
user@machine demo (master)
$ git log
commit 849e3dd96ca7c22e9598eba2c62c2f246be5f123 (HEAD -> master)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:06:39 2023 +0200
Version en cours de développement
commit da033f69b241169143958caa7b10309cc5dc29e5 (bug857)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:25:20 2023 +0200
Correction bug 857
commit 9544f8e445a2258e9a595d01e8f85a9d44440ed7 (tag: v1_0)
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:03:08 2023 +0200
Ajout documentation
commit 62f5d0601aed78474dc9fc2db5c4f133728f0a3c
Author: lauhub <lau.hub@gmail.com>
Date: Mon Jun 19 09:01:47 2023 +0200
initial commit
user@machine demo (master)
$
git push -u origin laurent_h_ft001
Dans GitHub, aller dans View all branches
(dans l’onglet
Branches
)
Cliquer sur la petite “poubelle” en face de la branche à supprimer
Depuis le dépôt local, se placer sur la branche de développement.
Puis faire (en remplaçant <remote branch name>
par
le nom de la branche):
git branch -d -r origin/<remote branch name>
Puis faire un git status
On branch laurent_h_ft001
Your branch is based on 'origin/laurent_h_ft001', but the upstream is gone.
(use "git branch --unset-upstream" to fixup)
nothing to commit, working tree clean
Puis lancer la commande indiquée:
git branch --unset-upstream
Source: How do you stop tracking a remote branch in Git? - Stack Overflow
forké
depuis le dépôt de référencemain
Sync Fork
Update
qui apparaîtupdate
depuis la branche main
dans GitHubgit checkout main
Récupérer les modifications issues de la branche main
de
votre fork
git pull
La commande devrait faire une réponse qui ressemble à ceci:
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 1 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), 1.01 KiB | 344.00 KiB/s, done.
From github.com:TSTN1-22-23/depots-clone
81f6c3b..70e6c82 main -> origin/main
Updating 81f6c3b..70e6c82
Fast-forward
bonjour.py | 1 +
1 file changed, 1 insertion(+)
Se replacer dans la branche de travail (ex: branche
prenom_n
):
git checkout laurent_h_ft001
Faire un rebase
pour appliquer les modifications issues
de main
git rebase main
Qui devrait afficher:
Successfully rebased and updated refs/heads/laurent_h_ft001.
SI NÉCESSAIRE résoudre les conflits localement
nom_prenom.py
À créer dans la branche module_nom_prenom
def ping_nom_prenom(message):
print(message + " bla bla bla")
if __name__ == "__name__":
"tu peux pas test !") ping_nom_prenom(