Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
divers:git:commandes [2024/04/04 04:34] marclebrun supprimée |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Commandes GIT ====== | ||
- | |||
- | ===== Créer un projet ===== | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/prog | ||
- | mkdir mon-projet | ||
- | cd mon-projet | ||
- | git init | ||
- | </code> | ||
- | |||
- | Un dossier caché **.git** est créé. | ||
- | |||
- | Ajouter un fichier : | ||
- | |||
- | <code bash> | ||
- | git add nom-du-fichier.ext | ||
- | git add "*.html" | ||
- | git add --all | ||
- | </code> | ||
- | |||
- | Status du projet : | ||
- | |||
- | <code bash> | ||
- | git status | ||
- | </code> | ||
- | |||
- | Commit : | ||
- | |||
- | <code bash> | ||
- | git commit -m "Mon premier commit" | ||
- | </code> | ||
- | |||
- | Créer un fichier **.gitignore** et lister les fichiers à ignorer : | ||
- | |||
- | <code> | ||
- | *.tmp | ||
- | log.txt | ||
- | tmp/* | ||
- | </code> | ||
- | |||
- | Historique: | ||
- | |||
- | <code bash> | ||
- | git log | ||
- | git log -n 2 | ||
- | git log --oneline | ||
- | git log --graph | ||
- | </code> | ||
- | |||
- | Modifications depuis dernier commit: | ||
- | |||
- | <code bash> | ||
- | git diff | ||
- | </code> | ||
- | |||
- | ===== Créer un dépôt distant ===== | ||
- | |||
- | Créer un sous-dossier dans le dossier Dropbox local: | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/Dropbox | ||
- | mkdir git | ||
- | cd git | ||
- | mkdir mon-projet | ||
- | </code> | ||
- | |||
- | Se placer dans ce dossier et initialiser le dépôt: | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/Dropbox/git/mon-projet | ||
- | git init --bare | ||
- | </code> | ||
- | |||
- | Ajouter le dépôt distant au niveau du projet: | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/prog/mon-projet | ||
- | git remote add origin /home/marc/Dropbox/git/mon-projet | ||
- | git remote -v | ||
- | </code> | ||
- | |||
- | Sous Windows, remplacer les “\” par des “/” : | ||
- | |||
- | <code bash> | ||
- | git remote add origin E:\Dropbox\git\mon-projet # NE PAS FAIRE COMME CECI | ||
- | git remote add origin /E/Dropbox/git/mon-projet # Faire comme ceci !!! | ||
- | </code> | ||
- | |||
- | ===== Transferts vers / depuis le dépôt distant ===== | ||
- | |||
- | Envoyer les modifications vers le dépôt: | ||
- | |||
- | <code bash> | ||
- | git push origin master | ||
- | </code> | ||
- | |||
- | Récupérer les modifications depuis le dépôt: | ||
- | |||
- | <code bash> | ||
- | git pull origin master | ||
- | </code> | ||
- | |||
- | Si GIT refuse le pull parce qu'il y a eu des modifications en local | ||
- | entre-temps, mais qu'on ne souhaite pas les conserver, il faut d'abord | ||
- | les annuler en faisant : | ||
- | |||
- | <code bash> | ||
- | git checkout . | ||
- | </code> | ||
- | |||
- | Cloner un projet vers un nouveau dossier local: | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/prog | ||
- | git clone /home/marc/Dropbox/git/mon-projet clone-de-mon-projet | ||
- | cd /home/marc/prog/clone-de-mon-projet | ||
- | </code> | ||
- | |||
- | ===== Recréer le projet ===== | ||
- | |||
- | Partir d'un dossier vierge : | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/prog | ||
- | mkdir mon-projet | ||
- | cd mon-projet/ | ||
- | </code> | ||
- | |||
- | Initialiser le nouveau dépôt : | ||
- | |||
- | <code bash> | ||
- | git init | ||
- | </code> | ||
- | |||
- | Ajouter le dépôt distant: | ||
- | |||
- | <code bash> | ||
- | git remote add origin /home/marc/Dropbox/git/mon-projet | ||
- | </code> | ||
- | |||
- | Télécharger le contenu du projet: | ||
- | |||
- | <code bash> | ||
- | git pull origin master | ||
- | </code> | ||
- | |||
- | **Mais tout cela peut être remplacé par une seule commande : ** | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/prog | ||
- | git clone /home/marc/Dropbox/git/mon-projet | ||
- | </code> | ||
- | |||
- | ===== Remote ===== | ||
- | |||
- | Voir la liste des **remote** et leur emplacement : | ||
- | |||
- | <code bash> | ||
- | git remote -v | ||
- | </code> | ||
- | |||
- | Voir la configuration d'un **remote** en particulier : | ||
- | |||
- | <code bash> | ||
- | git remote show origin | ||
- | </code> | ||
- | |||
- | ==== Ajouter un dépôt GitHub ==== | ||
- | |||
- | **NOTE:** le dépôt doit d'abord être créé sur GitHub. | ||
- | |||
- | <code bash> | ||
- | git remote add origin https://github.com/NOM-UTILISATEUR/NOM-DEPOT.git | ||
- | </code> | ||
- | |||
- | ===== Cloner un repository ===== | ||
- | |||
- | Cloner un dépôt GitHub : | ||
- | * Se rendre sur le dépôt GitHub | ||
- | * Copier l'adresse du projet. Exemple : | ||
- | * [[https://github.com/marclebrun/monprojet.git]] | ||
- | * Ne pas créer le dossier local, se placer là où il doit être créé | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/MesProjets | ||
- | </code> | ||
- | |||
- | * Puis cloner le dépôt. Par exemple : | ||
- | |||
- | <code bash> | ||
- | git clone https://github.com/marclebrun/monprojet.git | ||
- | </code> | ||
- | |||
- | Cela copie tout le code dans un nouveau dossier : | ||
- | |||
- | <code> | ||
- | /home | ||
- | /marc | ||
- | /MesProjets | ||
- | /monprojet | ||
- | ... les fichiers se trouvent ici ... | ||
- | </code> | ||
- | |||
- | Cela met le dépôt utilisé comme **origin** dans le dossier de travail. | ||
- | |||
- | ===== Faire un Push vers un repository ===== | ||
- | |||
- | Push la branche master vers le dépôt origin : | ||
- | |||
- | <code bash> | ||
- | git push origin master | ||
- | </code> | ||
- | |||
- | Si c'est un dépôt GitHub, un nom et un mot de passe seront demandés pour écrire sur le dépôt | ||
- | (à moins qu'il n'ait déjà été donné). | ||
- | |||
- | ===== Faire un Pull depuis un repository ===== | ||
- | |||
- | La commande **git pull** fusionne les modifications de la branche distante avec la branche locale. | ||
- | |||
- | <code bash> | ||
- | git pull origin | ||
- | </code> | ||
- | |||
- | ===== Faire un Fetch depuis un repository ===== | ||
- | |||
- | La commande **git fetch** crée sa propre branche, contrairement à **git pull**. | ||
- | |||
- | <code bash> | ||
- | git fetch origin | ||
- | </code> | ||
- | |||