gitlab

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
gitlab [2017/11/25 21:54]
naos
gitlab [2017/11/26 00:50] (Version actuelle)
naos
Ligne 1: Ligne 1:
 + --- //​[[freddy.sergent@polaris62.fr|naos]] 2017/11/25 21:54//
  
 ====== GitLab ====== ====== GitLab ======
Ligne 13: Ligne 13:
 => stockage de code dans un dépôt sous forme de source distant ou local, garde les version précédentes,​ génère un historique => stockage de code dans un dépôt sous forme de source distant ou local, garde les version précédentes,​ génère un historique
  
-=> toutes personnes ​auorisées ​peuvent ​contrinuer ​au code+=> toutes personnes ​autorisées ​peuvent ​contribuer ​au code
  
 Gère les dépôts, les issues, les utilisateurs,​ les groupes, intégration continue Gère les dépôts, les issues, les utilisateurs,​ les groupes, intégration continue
Ligne 35: Ligne 35:
 ''#​ apt-get update''​ ''#​ apt-get update''​
  
-''#​ apt-get install ​-y curl openssh-server ca-certificates''​+''#​ apt-get install curl openssh-server ca-certificates''​
  
 ''#​ apt-get install postfix''​ ''#​ apt-get install postfix''​
Ligne 49: Ligne 49:
 ===== Générer une clef ssh ===== ===== Générer une clef ssh =====
 <code bash> <code bash>
-ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_gitlab ​-C "Clef SSH pour GitLab"​ -o -a 100 +ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa ​-C "Clef SSH pour GitLab"​ -o -a 100 
-ssh-keygen -t ed25519 -f -f ~/.ssh/id_gitlab ​-C "Clef SSH pour GitLab"​ -a 100+ssh-keygen -t ed25519 -f -f ~/.ssh/id_rsa ​-C "Clef SSH pour GitLab"​ -a 100
 </​code>​ </​code>​
  
Ligne 65: Ligne 65:
 </​code>​ </​code>​
  
-===== Procédure officielle =====+===== Procédure officielle ​pour créer un projet ​=====
  
 **Command line instructions** **Command line instructions**
Ligne 71: Ligne 71:
 Git global setup Git global setup
  
-git config --global user.name "​Administrator"​ +git config --global user.name "​Administrator"​ 
-git config --global user.email "​admin@example.com"​+ 
 +git config --global user.email "​admin@example.com"​
 </​code>​ </​code>​
 **Create a new repository** **Create a new repository**
 <code bash> <code bash>
-git clone git@gitlab.DOMAIN.TLD:​root/​repo.git +git clone git@gitlab.DOMAIN.TLD:​root/​repo.git 
-cd repo +cd repo 
-touch README.md +touch README.md 
-git add README.md +git add README.md 
-git commit -m "add README"​ +git commit -m "add README"​ 
-git push -u origin master+git push -u origin master
 </​code>​ </​code>​
 **Existing folder** **Existing folder**
 <code bash> <code bash>
-cd existing_folder +cd existing_folder 
-git init +git init 
-git remote add origin git@gitlab.DOMAIN.TLD:​root/​repo.git +git remote add origin git@gitlab.DOMAIN.TLD:​root/​repo.git 
-git add . +git add . 
-git commit -m "​Initial commit"​ +git commit -m "​Initial commit"​ 
-git push -u origin master+git push -u origin master
 </​code>​ </​code>​
 **Existing Git repository** **Existing Git repository**
 <code bash> <code bash>
-cd existing_repo +cd existing_repo 
-git remote rename origin old-origin +git remote rename origin old-origin 
-git remote add origin git@gitlab.DOMAIN.TLD:​root/​repo.git +git remote add origin git@gitlab.DOMAIN.TLD:​root/​repo.git 
-git push -u origin --all +git push -u origin --all 
-git push -u origin --tags+git push -u origin --tags
 </​code>​ </​code>​
 --- ---
Ligne 106: Ligne 107:
 Clone: Clone:
 <code bash> <code bash>
-git clone < URL du dépôt > [destination]+git clone < URL du dépôt > [destination]
 </​code>​ </​code>​
 <code bash> <code bash>
Ligne 125: Ligne 126:
 **Commencer un projet:** **Commencer un projet:**
 <code bash> <code bash>
-git init+git init
 </​code>​ </​code>​
 **Pour visualiser les branches locales:** **Pour visualiser les branches locales:**
 <code bash> <code bash>
-git branch+git branch
 </​code>​ </​code>​
 **Pour visualiser les branches disponibles sur le serveur central:** **Pour visualiser les branches disponibles sur le serveur central:**
 <code bash> <code bash>
-git ls-remote+git ls-remote
 </​code>​ </​code>​
 **Pour afficher les dépôts configurés:​** **Pour afficher les dépôts configurés:​**
 <code bash> <code bash>
-git remote -v+git remote -v
 </​code>​ </​code>​
 **Ajouter un dépôt distant:** **Ajouter un dépôt distant:**
 <code bash> <code bash>
-git remote add spare https://​gitlab.com/​patrick/anniversaire_de_patrick+git remote add machin ​https://​gitlab.com/​USER/PROJET
 </​code>​ </​code>​
 **Supprimer le dépôt machin:** **Supprimer le dépôt machin:**
 <code bash> <code bash>
-git remote remove machin+git remote remove machin
 </​code>​ </​code>​
 **Utiliser la nouvelle branche:** **Utiliser la nouvelle branche:**
 <code bash> <code bash>
-git checkout NouvelleBranche+git checkout NouvelleBranche
 </​code>​ </​code>​
  
Ligne 160: Ligne 161:
 **Exemple: répertoire git, fichier d'​ajout readme, "​First"​ message pour expliquer le commit** **Exemple: répertoire git, fichier d'​ajout readme, "​First"​ message pour expliquer le commit**
  
-''​mkdir git''​+''​mkdir git''​
  
-''​cd git''​+''​cd git''​
  
-''​git init''​+''​git init''​
  
-''​touch readme''​+''​touch readme''​
  
-''​git add readme''​+''​git add readme''​
  
-''​git commit -m "​First"''​+''​git commit -m "​First"''​
  
-''​git branch''​+''​git branch''​
 <code bash> <code bash>
  * master  * master
Ligne 179: Ligne 180:
 ===== Créer une nouvelle branche ===== ===== Créer une nouvelle branche =====
  
-''​git branch nouvelle_branche''​+''​git branch nouvelle_branche''​
   
-''​tree .git''​+''​tree .git''​
  
 --- ---
Ligne 187: Ligne 188:
 **Créer et utiliser la nouvelle branche:** **Créer et utiliser la nouvelle branche:**
 <code bash> <code bash>
-git checkout -b nouvelle_branche+git checkout -b nouvelle_branche
 </​code>​ </​code>​
 **Voir tous les changments** **Voir tous les changments**
 <code bash> <code bash>
-git status+git status
 </​code>​ </​code>​
 **Ajouter un fichier au Master ou Branche** **Ajouter un fichier au Master ou Branche**
 <code bash> <code bash>
-git add Nom_du_fichier+git add Nom_du_fichier
 </​code>​ </​code>​
 **Enregistrer l'​avancement du code** **Enregistrer l'​avancement du code**
 <code bash> <code bash>
-git commit+git commit
 </​code>​ </​code>​
 **Enregistrer l'​avancement du code Alternative,​ envoi de toutes les modifications de tous les fichiers** **Enregistrer l'​avancement du code Alternative,​ envoi de toutes les modifications de tous les fichiers**
 <code bash> <code bash>
-git commit -a -m "​message"​+git commit -a -m "​message"​
 </​code>​ </​code>​
 **Avant son premier commit, il faut préciser:​** **Avant son premier commit, il faut préciser:​**
 <code bash> <code bash>
-git config --global user.name "USER NAME"​ +git config --global user.name "USER NAME"​ 
-git config --global user.email "​USER@DOMAIN.TLD"​+git config --global user.email "​USER@DOMAIN.TLD"​
 </​code>​ </​code>​
 **Configurer l'​éditeur préféré:​** **Configurer l'​éditeur préféré:​**
 <code bash> <code bash>
-git config --global core.editor "​vim"​+git config --global core.editor "​vim"​
 </​code>​ </​code>​
 **Récupérer toutes les informations distantes:​** **Récupérer toutes les informations distantes:​**
 <code bash> <code bash>
-git fetch origin+git fetch origin
 </​code>​ </​code>​
 **Comparer notre environnement de travail:** **Comparer notre environnement de travail:**
 <code bash> <code bash>
-git log origin/​dev..dev +git log origin/​dev..dev 
-git log dev..origin/​dev+git log dev..origin/​dev
 </​code>​ </​code>​
 **Comparer notre environnement de travail EN MODE GRAPHIQUE:​** **Comparer notre environnement de travail EN MODE GRAPHIQUE:​**
 <code bash> <code bash>
-gitk log origin/​dev..dev+gitk log origin/​dev..dev
 </​code>​ </​code>​
 **Pour publier les commits sur le dépôt distant:** **Pour publier les commits sur le dépôt distant:**
 <code bash> <code bash>
-git push+git push
 </​code>​ </​code>​
 **Pour publier les commits sur le dépôt distant:** **Pour publier les commits sur le dépôt distant:**
 <code bash> <code bash>
-git push -u origin master  +git push -u origin master  
-git push -u origin NouvelleBranche+git push -u origin NouvelleBranche
 </​code>​ </​code>​
 **Pour fusionner deux branches** **Pour fusionner deux branches**
 <code bash> <code bash>
-git merge master NouvelleBranche+git merge master NouvelleBranche
 </​code>​ </​code>​
 **Pour fusionner deux branches, se positionner sur la branche cible puis** **Pour fusionner deux branches, se positionner sur la branche cible puis**
 <code bash> <code bash>
-git merge NouvelleBranche+git merge NouvelleBranche
 </​code>​ </​code>​
  
Ligne 248: Ligne 249:
 **Aller sur http://​gitlab.DOMAIN.TLD puis faire ces commandes:​** **Aller sur http://​gitlab.DOMAIN.TLD puis faire ces commandes:​**
 <code bash> <code bash>
-cd git +cd git 
-git remote add origin http://​gitlab.DOMAIN.TLD/​root/​test.git +git remote add origin http://​gitlab.DOMAIN.TLD/​root/​test.git 
-git push -u origin --all+git push -u origin --all
 Username for '​http://​gitlab.DOMAIN.TLD':​ root Username for '​http://​gitlab.DOMAIN.TLD':​ root
 Password for '​http://​root@gitlab.DOMAIN.TLD': ​ Password for '​http://​root@gitlab.DOMAIN.TLD': ​
Ligne 271: Ligne 272:
 ===== Initialiser un dépôt ===== ===== Initialiser un dépôt =====
  
-cd git+''​$ ​cd git''​
  
-git init ça créé un .git+''​$ ​git init''​ ça créé un .git
  
-touch readme+''​$ ​touch readme''​
  
-git add readme ou . pour que tous les fichiers du répertoire soient ajoutés+''​$ ​git add readme''​ ou . pour que tous les fichiers du répertoire soient ajoutés
  
-git commit -m "bla bla"+''​$ ​git commit -m "bla bla"''​
  
-git remote rename origin old-origin+''​$ ​git remote rename origin old-origin''​
  
-git remote add origin git@gitlab.DOMAIN.TLD:​root/​test.git+''​$ ​git remote add origin git@gitlab.DOMAIN.TLD:​root/​test.git''​
  
-ssh-keygen -t rsa -b 4096 -f ~/​.ssh/​id_gitlab -C "clef ssh pour gitlab"​ -o -a 100+''​$ ​ssh-keygen -t rsa -b 4096 -f ~/​.ssh/​id_gitlab -C "clef ssh pour gitlab"​ -o -a 100''​
 <code bash> <code bash>
  Ajouter notre clé à notre registre SSH:  Ajouter notre clé à notre registre SSH:
Ligne 293: Ligne 294:
 </​code>​ </​code>​
  
-git push -u origin master ​  pour soumettre vos changements au serveur Git dans Master+''​$ ​git push -u origin master'' ​  pour soumettre vos changements au serveur Git dans Master
  
-git status+''​$ ​git status''​
  
 **Récupérer les dernières modifications depuis le dépôt:** **Récupérer les dernières modifications depuis le dépôt:**
 <code bash> <code bash>
-git pull+git pull
 </​code>​ </​code>​
  
Ligne 307: Ligne 308:
 **Revenir en arrière** **Revenir en arrière**
 <code bash> <code bash>
-git log +git log 
-git revert 5b1c84457c97379c6318c1c6a6f024e576d0595b+git revert 5b1c84457c97379c6318c1c6a6f024e576d0595b
 </​code>​ </​code>​
  
 **Visualiser des modifications:​** **Visualiser des modifications:​**
 <code bash> <code bash>
-git diff [ commit_1 commit_2 ]+git diff [ commit_1 commit_2 ]
 </​code>​ </​code>​
  
 **Différence entre fetch et pull** **Différence entre fetch et pull**
 <code bash> <code bash>
-git fetch= récupère la liste des modifications +git fetch= récupère la liste des modifications 
-git pull= récupère la liste des modifications + récupère le travail localement+git pull= récupère la liste des modifications + récupère le travail localement
 </​code>​ </​code>​
  
 **Visualiser l'​origine des modifications** **Visualiser l'​origine des modifications**
 <code bash> <code bash>
-git blame < fichier >+git blame < fichier >
 </​code>​ </​code>​
  
 **Annuler les modifications dans la copie de travail** **Annuler les modifications dans la copie de travail**
 <code bash> <code bash>
-git checkout --NOM_DU_FICHIER+git checkout --NOM_DU_FICHIER
 </​code>​ </​code>​
-Afficher la liste des branches du serveur:+**Afficher la liste des branches du serveur:**
 <code bash> <code bash>
-git branch -r+git branch -r
 </​code>​ </​code>​
  
Ligne 342: Ligne 343:
 **Soit la méthode radicale, qui fait tout perdre** **Soit la méthode radicale, qui fait tout perdre**
 <code bash> <code bash>
-git checkout+git checkout
 </​code>​ </​code>​
  
 **Soit la méthode idéale, les modifications distantes sont mises en stash en:** **Soit la méthode idéale, les modifications distantes sont mises en stash en:**
 <code bash> <code bash>
-git stash +git stash 
-git pull+git pull
  Vérifier les conflits  Vérifier les conflits
-git stash pop Permet de fusionner les deux versions en conflits+git stash pop Permet de fusionner les deux versions en conflits
 </​code>​ </​code>​
  
 **Pour lister les stash:** **Pour lister les stash:**
 <code bash> <code bash>
-git stash list+git stash list
 </​code>​ </​code>​
  
Ligne 395: Ligne 396:
 $ git checkout -b patchMiniuature $ git checkout -b patchMiniuature
  export  export
-$ git format-patch master --stdout > correction_export_miniature.patch+$ git format-patch master --stdout > correction.patch
 </​code>​ </​code>​
  
 **Appliquer le patch** **Appliquer le patch**
 <code bash> <code bash>
-$ git apply --stat ​correction_export_miniature.patch +$ git apply --stat ​correction.patch 
-$ git apply --check ​correction_export_miniature.patch +$ git apply --check ​correction.patch 
-$ git apply correction_export_miniature.patch +$ git apply correction.patch 
-$ git am --signoff < correction_export_miniature.patch en complément de la cde préc. pour insérer les informations de l'​auteur du patch+$ git am --signoff < correction.patch en complément de la cde préc. pour insérer les informations de l'​auteur du patch
 </​code>​ </​code>​
  
Ligne 414: Ligne 415:
 fichier index: binaire, rescence les fichiers commités, permissions rattachés, la sommme de contrôle en SHA fichier index: binaire, rescence les fichiers commités, permissions rattachés, la sommme de contrôle en SHA
 <code bash> <code bash>
- git ls-tree [-r|-d] <​branch>​+git ls-tree [-r|-d] <​branch>​
 </​code>​ </​code>​
 fichier head: indique branche courante et répertoire actuel fichier head: indique branche courante et répertoire actuel
 <code bash> <code bash>
- cat $PROJET/​.git/​HEAD+cat $PROJET/​.git/​HEAD
 </​code>​ </​code>​
 --- ---
Ligne 430: Ligne 431:
  
 <code bash> <code bash>
-git pull +git pull 
-git checkout ​ branche +git checkout ​ branche 
-git origin branche +git origin branche 
-touch test.txt +touch test.txt 
-git commit +git commit 
-git push --set-upstream origin branche+git push --set-upstream origin branche
 </​code>​ </​code>​
  
  • gitlab.1511643266.txt.gz
  • Dernière modification: 2017/11/25 21:54
  • par naos