Outils pour utilisateurs

Outils du site


dvcs:git

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
dvcs:git [2024/10/08 08:15] olivierdvcs:git [2025/02/15 11:52] (Version actuelle) olivier
Ligne 2: Ligne 2:
  
 Il a été développé à l'origine pour le noyau (//kernel//) linux. Il a été développé à l'origine pour le noyau (//kernel//) linux.
 +
 +<WRAP center shadow alert 60%>
 +Les exemples mentionnent **framagit.org**, mais cela s'applique à n'importe quelle forges.
 +</WRAP>
 +
  
 ===== Paramétrage ===== ===== Paramétrage =====
Ligne 34: Ligne 39:
 <code>git config --list</code> <code>git config --list</code>
  
-===== Quelques commandes utiles =====+===== Tester si sa clé SSH est valide =====
  
-Ajouter des fichiers+Par exemple chez framagit.org. Il faut avoir au préalable, généré sa propre [[dvcs:framagit#ajout_d_un_cle_openssh|clée]], et configurer le fichier ''~/.ssh/config''.
  
 <code> <code>
-git add ... +ssh git@framagit.org 
-</code>+[...] 
 +PTY allocation request failed on channel 0 
 +Welcome to GitLab, @olivierd! 
 +Connection to framagit.org closed.</code>
  
-Connaître l'état du dépôt (savoir si des fichiers ont été modifiés)+===== Créer un dépôt ===== 
 + 
 +Il faut passer par l'interface Web de la forge. 
 + 
 +<WRAP center shadow info 60%> 
 +En théorie, il est possible de le faire en ligne de commande. Mais bien souvent 
 +cette fonctionnalité est bloquée par les forges. 
 + 
 +Par exemple chez framagit.org, si notre projet s'appelle "super-projet" :
  
 <code> <code>
-git status+mkdir super-projet ; cd super-projet/ 
 +git init 
 +git remote add origin git@framagit.org:identifiant/super-projet.git 
 +git push -u origin main
 </code> </code>
 +</WRAP>
  
-Enregistrer les modifications+En général, on clone notre dépôt pour pouvoir commencer à travailler et envoyer nos modifications
 + 
 +<wrap important>Ci-dessous on clone en SSH (c'est à dire, on a un compte chez framagit.org).</wrap>
  
 <code> <code>
-git commit -a+git clone git@framagit.org:identifiant/super-projet.git
 </code> </code>
  
-Envoyer les modifications du dépôt sur un dépôt externe à celui en local+<WRAP center shadow tip 60%> 
 +Si on a déjà un répertoire qui s'appelle "super-projet", on utilise cette commande :
  
 <code> <code>
-git push+git clone git@framagit.org:identifiant/super-projet.git .
 </code> </code>
 +</WRAP>
  
-===== Récupérer les sources =====+Il faut remplacer **identifiant** par son propre identifiant
  
-D'une manière générale, pour obtenir les sources d'un logiciel, il faut utiliser l'option **clone**.+===== Quelques commandes utiles =====
  
-<code>git clone https://git.domain.tld/project</code>+Ajouter des fichiers :
  
-==== Sélectionner une branche particulière ====+<code> 
 +git add ... 
 +</code>
  
-Cela dépend, comment le dépôt est utilisé. Lorsqu'une branche est parfaitement identifiable par une étiquette, on peut procéder de la manière suivante.+Connaître l'état du dépôt (savoir si des fichiers ont été modifiés) :
  
-<code>git clone -b <branch> --single-branch https://git.domain.tld/project</code>+<code> 
 +git status 
 +</code>
  
-==== Sélectionner un « tag » ====+Enregistrer nos modifications (c'est en local) :
  
-Au cours de l'évolution d'un logiciel son ou ses développeur(s) préfère(nt) utiliser des //tags//, cela permet d'identifier les différentes versions. +<code
- +git commit -a 
-<WRAP center round info 60%+</code>
-Il faut au préalable //cloner// le dépôt distant. +
-</WRAP>+
  
 +Envoyer nos modifications vers un dépôt externe :
 <code> <code>
-git tag +git push
-git checkout <tag>+
 </code> </code>
  
-Ou <code>git checkout tags/...</code>+Annuler une ou plusieurs modifications :
  
-  * **git tag** → liste tous les tags +Si l'on a pas encore //commité//, via l'option ''git commit -a'' les modifications faites dans notre dépôt local  (ceci va annuler les modifications !)
-  * **git checkout <tag>** → spécifie la « révision » souhaitée +
-  * **...** → spécifie le tag souhaité +
-  * **git status** → vérification du dépôt+
  
-===== Proposer un patch =====+===== Changer l'URL du dépôt distant, https → ssh =====
  
-Si on a trouvé un //bug//, etque l'on a un correctif. Pour en faire profiter le mainteneur, on doit lui envoyer notre //patch//Voici la démarche à suivre ((Certains projets exigent d'autres compléments)). +<WRAP center shadow help 60%> 
- +C'est utilesi l'on a cloné un dépôt distant directement en HTTPSDans ce cas, on ne s'est pas identifié.
-On travaille uniquement sur notre propre branche ''git branch correctif; git switch correctif''+
- +
-On effectue nos modificationsensuite on doit les sauvegarder. +
- +
-<code>git commit -a</code> +
- +
-Le //patch// sera généré avec la commande ''git format-patch''+
- +
-<code>git format-patch origin/master</code> +
- +
-<WRAP center round important 60%> +
-Dans certains dépôt la branche principale //master// porte un autre nom //main//.+
 </WRAP> </WRAP>
  
-===== Changer l'URL du dépôt distant, https → ssh ===== 
  
 Pour connaître l'état actuel : Pour connaître l'état actuel :
  
 <code>git remote -v <code>git remote -v
-origin https://example.com/ACCOUNT/repo.git (fetch) +origin https://framagit.org/identifiant/super-projet.git (fetch) 
-origin https://example.com/ACCOUNT/repo.git (push)</code>+origin https://framagit.org/identifiant/super-projet.git (push)</code>
  
 Puis Puis
  
-<code>git remote set-url origin git@example.com:ACCOUNT/repo.git</code>+<code>git remote set-url origin git@framagit.org:identifiant/super-projet.git</code>
  
 Il faut bien sûr remplacer : Il faut bien sûr remplacer :
  
-  * **ACCOUNT** → son identifiant +  * **identifiant** → son identifiant 
-  * **repo** → le nom du dépôt +  * **super-projet** → par le nom réel du dépôt
- +
-===== Annuler une ou plusieurs modifications ===== +
- +
-Si l'on a pas encore //commité//, via l'option ''git commit -a'' les modifications faites dans notre dépôt local  (ceci va annuler les modifications !) +
- +
-<code>git checkout .</code>+
dvcs/git.1728368141.txt.gz · Dernière modification : 2024/10/08 08:15 de olivier

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : Public Domain