Git && github 1. Create Github Repository And Clone It Git: un système de versi

Git && github 1. Create Github Repository And Clone It Git: un système de versionning Github : un repository distant vers lequel on envoie le code, il existe d’autre (gitlab, bitbuket…) - Créer un dossier dans github, ensuite copier le lien http et lancer la commande clone : Git clone https://github.com/rouissimed/monrepocourse.git 2. Add and Reset and Commit & Explain Progress Git status / git status -s: Affiche l’état courant et liste tous les nouveaux fichiers et les fichiers modifiés à commiter Git diff --staged / git difftool –staged (to use a visuel tool selon le choix) - Plus spécifique que git status qui affiche les fichiers affecté (indexé dans le staging area), git diff --staged affiche les lignes exacte qui sont affectées (qui sont indexés dans le staging area) et qui sont indexé et prêt à être commiter. - Cette commande est utiliser pour un review et comparaison entre les anciennes copies des fichiers commiter déjà et les nouvelles copies de ces fichiers indexéé dans le staging area si on a pas un accès à un visuel tool(la bonnes pratique est d’utiliser un outil visuel) - Comparing what we have in the last commit with what we have in the staging area Git diff / git difftool (to use a visuel tool selon le choix) - Comparing what we have in the working directory with what we have in the staging area - mettre vscode as default tools to compare files - git config --global diff.tool vscode - git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE" - git config –global –edit : pour ouvrir le fichier de config avec l editeur et vérifier les config de vscode as a visual tool git add [fichier] Ajoute un instantané du fichier, c.à.d ajoute les fichier et dossier au staging area git add main.css : ajoute le fichier main.css git add –all ou git add * : ajoute toutes les fichiers et dossier git reset head [fichier] rénitialiser le fichier, et l’enlever de staging area : c.à.d faire un unstage git reset head main.js git commit –m ’’ message descriptif ‘’ Enregistre des instantanés de fichiers de façon permanente dans l’historique des versions. La commande git commit permet de valider les modifications apportées au HEAD. Notez que tout commit ne se fera pas dans le dépôt distant. Git show idcommit -Affiche ce qu’on a fait dans un commit en détails - On peut afficher des objets (commit, blob (for file), tree (fir directory), tags) 3. Push Local Changes To Remote Repository git branch Liste toutes les branches locales dans le dépôt courant git remote -v Afficher le repôt distant git push origin main Envoie tous les commits de la branche locale vers GitHub 4 Pull Changes From Remote Repository Pour récupérer toutes les modifications présentes sur le dépôt distant dans le répertoire de travail local, la commande pull est utilisée, il faut récupérer toutes es modification en repot distant en local ensuite ajouter nos propres modifications git pull origin git pull fait deux choses : get fecth pour récupérer les fichier en repo diastant vers le repo local et git merge pour fusionner les modif en repos distant avec le repos local. 5 Git Configurations git config –l Commande qui liste les configurations existantes git config [--local –global --system] key value --local: s’applique sur le repo actuel seulement --global : s’applique sur tous les repos d’un user --system : s’applique sur tous les repos de tous les users git config --global user.name rouissi Mohamed ahmed git config --global user.email mohamedahmedrouissi@gmail.com git config --global core.autocrlf true git config --get user.name / git config --get user.name Afficher la valeur de key demander mettre vscode as default tools to compare files git config --global diff.tool vscode git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE" git config –global –edit : pour ouvrir le fichier de config avec l editeur git config –help / git config –h git ls : lister les fichier git ls-files : afficher les fichier dans le staging area git touch file.txt : créer un fichier git echo hello > file.txt : écraser le contenue du file.txt et ecrire hello si le fichier existe si non créé le fichier git echo ‘’hello world’’ >> file.txt : : append (ajouter) hello world au fichier file.txt s’il existe si non file.txt sera créer rm file.txt / git add file.txt: si on efface un fichier de repo local, il reste dans le staging area (vérifier avec git ls-files), il faut faire un add pour que ce fichier soit supprimer du staging area git rm –cached file.txt : pour supprimer le fichier du l’index seuelement (staging area) git rm file.txt : pour supprimer le fichier du repo local (workong directry) et staging area mv file1.txt main.js / git add file1.txt main.js: si on renomme un fichier de repo local, il reste dans le staging area avec l’ancien nom (vérifier avec git ls-fils), il faut faire un add pour que ce fichier soit supprimer du staging area git mv file1.txt main.js : pour renommer le fichier du repo local (workong directry) et staging area 6 Generate And Test Github Public Key Lorsque je veux faire un clone ou remote, on utilize soit un lien http ou bien ssh - Pour utiliser ssh, on doit procéder comme suit : 1- Générer key public en local avec cmder ssh-keygen -t rsa 2- Entrer le password 3- Afficher le key pour le copier cat C:\Users\DELL/.ssh/id_rsa.pub 4- Dans settings  ssh and gpg jey cliquer sur ajouter un ssh key, puis entrer le titre pour le key et coller le key et l’ajouter. 5- Entre la commande suivante ssh -T git@github.com 6- Le mot de passe entrer lors de la création du key sera demander 7- Si tous va bien un hi rouissi sera afficher 7 Create Repository From Existing Project Dans ce cas, on va créer un repos distant à partir un repo en local. 1- Créer le repos en local mkdir repofromlocal 2- Initialiser le repos en local cd repofromlocal / git init la commande git init , initialise le repos, c.à.d dès maintenant on peut appliquer les commande git sur notre repos (un repot caché nommé .git est créer) 3- Créer qlq fichiers et faire une commit touch ahmed.html mohamed.html git add –all git commit -m "1-31/01/2022 first commit" 4- Créer un nouveau repository sur github nommé “testforcourse” 5- Remote git remote add origin git@github.com:rouissimed/testforcourse.git git branch -M main git push -u origin main  ici le mot de passé de key sera demander 8 Learn Pull Request With Real Examples - Après que j’ai fait des modifications sur mon projet dans le local, je dois informer les admin du repos distant que j’ai des modifications à publier sur le repos distant, cela se fait avec un pull request. 9 Learn Everything About Aliases - Les alias sont utilisé pour faire des raccourcie pour les commandes long par exp - Dans cet exemple, on va faire un alias pour la commande git status, pour utiliser git st - git config --global alias.st status 10 Learn Git & GitHub #12 - Learn About Branching And Merging Git branch Liste toutes les branches du repos local Git branch newbranche Créer une nouvelle branche nommé newbranche Git checkout newbranche Basculer vers la nouvelle branche git checkout -b newbranch Créer une nouvelle branche nommé newbranch et bascule vers newbranche directement Git branch –d newbranche Supprimé la branche nommé newbranche, après une vérification d’existance d’un merge si non s’il trouve des modif la srppression n’aura pas lieu Git branch –D newbranche Forcer la suppression de la branche nommé newbranche Pour tester le merge avec la branche main en local, ensuite push vers github 1- Créer une nouvelle branche et basculer vers cet derniere git checkout -b newbranch 2- Faire des modif (créer file, add , commit) Touch newfile.html / git add newfile.html / git commit –m ’’ descrption ’’ 3- Basculer vers la branche main git checkout main 4- Faire le merge : git merge newbranch 5- Faire le push vers github : git push origin main Pour tester le merge avec la branche main dans github directement 1- Créer une nouvelle branche et basculer vers cet derniere git checkout -b nouvelbranche 2- Faire des modif (créer file, add , commit) Touch newfile.html / git add newfile.html / git commit –m ’’ descrption ’’ 3- Rester dans la nouvelle branche 4- Faire le push vers github : git push origin nouvelbranche 5- Aller eu remote repo github pour valider le pullrequest ou bien la refuser Ce push à partir de la nouvelle à créer un pullrequest for 'nouvelbranche' on GitHub - Nous avons 4 types de merge 1- Fast forwarding o Lorsque nous avons des commit linéaires 2- Merge commit o Lorsque nous avons des commit dérivés des branches différents, dans ce cas il faut créer un autre commit 3- Rebase o Rewrite history o Caution : never rewrite history that has been shared with other o Rebase est le faite de changer uploads/Industriel/ resume-rma-git-github.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager