Anciennes révisionsLiens de retourExporter en PDFHaut de page Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer RedditDerniers changementsSend via e-MailImprimerPermalien × Git “JE VAIS VOUS LE DIRE FRANCHEMENT : Git est exaspérant. Attendez ! Ne partez pas tout de suite. Oui, Git est insupportable. Mais il est également indispensable”1) Git est un logiciel de gestion de versions décentralisé. C'est un logiciel libre créé par Linus Torvalds, le créateur du noyau Linux, et distribué selon les termes de la licence publique générale GNU version 2. Une très intéressante contribution du journaliste scientifique Clay Shirky, Comment internet transformera un jour le gouvernement?, qui évoque git et la possibilité (toute théorique) de l'utiliser comme outil législatif et budgétaire: https://www.ted.com/talks/clay_shirky_how_the_internet_will_one_day_transform_government Install sudo apt-get install git-core gitk git config --global color.diff auto git config --global color.status auto git config --global color.branch auto git config --global user.name "PSEUDO" git config --global user.email EMAIL vi ~/.gitconfig [color] diff = auto status = auto branch = auto [user] name = johndoe email = johndoe@coincoin.org [alias] ci = commit co = checkout st = status br = branch Gérer ses fichiers de config avec git http://www.qanuq.com/2019/10/06/gerer-fichiers-configuration-avec-git-maniere-elegante/ Mémoriser la connexion Mettre les clés ssh nécessaires puis sur chaque client: git config --global user.name "<username goes here>" Forcer le push sur le serveur avec le dépôt git config receive.denyCurrentBranch ignore Basics Les commandes de base fork then git remote add origin git@github.com:USER/PROJECT.git git pull git@github.com:USER/PROJECT.git git st git add... hg commit -m "comment" git push git@github.com:USER/PROJECT.git https://github.com/zpartakov/vamosAcomer git log #details d'un commit git show 0943dce3be9c4a0f21c397f62ea18f78a4bcea26 Rollback Revenir en arrière d'un commit git reset --hard HEAD^ Revenir en arrière sur un commit spécifique git reset --hard 13e8d052383d96c1cdfef188ede3dd4fdffd53ad ou 13e8d052383d96c1cdfef188ede3dd4fdffd53ad est le numéro du commit doc: https://git-scm.com/docs/git-reset Chercher / search function git log --patch | less +/searching_string chercher les revisions d'un auteur “Jon” git log --author=Jon git grep [motifDeRecherche] si on veut chercher ds ttes les versions git log -p grep ... doc https://linuxhint.com/use-grep-git-repository/ Branch: "forker" en créant une branche Clone project: git clone git@example.com:project-name.git Create branch with your feature: git checkout -b $feature_name Write code. Commit changes: git commit -am "My feature is ready" Push your branch to GitLab: git push origin $feature_name voir https://docs.gitlab.com/ee/gitlab-basics/feature_branch_workflow.html#feature-branch-workflow Cloner une branche spécifique git clone -b my-branch https://git@github.com/username/myproject.git exemple, cloner la branche stable de limesurvey et la mettre à jour git clone -b 2.06lts git@github.com:LimeSurvey/LimeSurvey.git git pull git@github.com:LimeSurvey/LimeSurvey.git 2.06lts Renommer la branche master de votre dépôt Git en main Si vous avez un peu suivi le débat en informatique on a plus le droit de dire master et slave paske c'est mal. Donc maintenant faut dire main et… en fait je sais pas: soumis? Je crois c'est secondary En tout cas, certains providers git exigent maintenant qu'on appelle la branche principale master. Comment changer: https://andycostanza.gitlab.io/blog/fr/posts/2022/renommer_master_en_main_avec_git/ Thks, Andy C.! Supprimer un fichier sensible C'est toujours mieux que rien, mais que cela ne vous empêche pas de changer p. ex. des mots de passe de connexion MySQL ou autres qui auraient été exposés! Car on a aucun moyen de savoir ce qui a filtré ou non pendant que les données étaient exposées. git filter-branch --force --index-filter \ 'git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA' \ --prune-empty --tag-name-filter cat -- --all git commit git push origin --force --all Removing sensitive data from a repository Sous-modules Pour avoir tous les sous-modules d'un repository git git submodule update --init --recursive Sécurité sécuriser répertoire .git le plus simple: echo "Deny from all" > .git/.htaccess https://nouslesdevs.com/cli/securiser-un-git/ clés ssh Si vous avez un méchant message lors d'un pull ou d'un push genre: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. Déclarer les clés dans la section Deploy Keys pour le dépot: https://gitlab.com/yourName/yourRepo/-/settings/repository Voir l'onglet “Clefs de déploiement à accès privé” How to use "git clone" with a custom SSH key Sometimes you need to clone a Git repo with a different SSH key.: https://ralphjsmit.com/git-custom-ssh-key Versions (tag) Versions paquet zip/tarball to download with source code git tag -a v1.0 #changer pour la bonne version git push --tags [optional git repo]] Tutoriels http://www.siteduzero.com/tutoriel-3-254198-gerez-vos-codes-source-avec-git.html http://www.grafikart.fr/tutoriels/internet/git-github-131 http://raspbian-france.fr/introduction-versioning-git/ (excellent tuto avec reveal.js, voir au bas de la page ou direct http://raspbian-france.fr/cours/slides-git.html) http://www.elephorm.com/apprendre-git-fondamentaux https://blog.squad.fr/non-classe/git-explique-avec-mes-mots.html https://ohshitgit.com/fr Et merde, Git!?! Bouquins David Demaree, Git par la pratique git GUI des clients graphiques pour git Gitcraken / git GUI gitcraken, un client graphique simple à configurer pour voir vos projets git source: http://www.gitkraken.com/ abandonné, passait son temps à faire de la pub pour sa version payante qgit qgit version graphique GitLab Version web libre de git avec une vue kanboard https://gitlab.com/ c'est le plus simple si vous ne voulez pas installer tout le tintouin… Mon espace gitlab: https://gitlab.com/zpartakov Fork https://docs.gitlab.com/ee/user/project/repository/forking_workflow.html Merge / Merging request https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html Groups https://gitlab.com/groups/new https://gitlab.com/groups/communication-web/-/group_members> Todos / Issues Système de ticketing de gitlab Gitlab - 4. Les tickets / Issues : principes, organisation / tuto vidéo en fr Utiliser gitlab comme outil collaboratif de gestion de projet/tâches https://docs.gitlab.com/ee/user/todos.html gitlab todos Doc GitLab Flow (beginner) - the basics of git and GitLab 8 Tips (intermediate) - become more efficient with Git GitLab CI (advanced) - quick-start guide to continuous integration https://github.com/gitlabhq/gitlabhq Local install GitLab Installation +++install on ubunutu 16.04 (or any OS) how to install GitLab (A alternative to GitHub) on Ubuntu Server 14.04 LTS. +++grafikart Tutoriel Vidéo: Intégration continue avec GitLab Github Github -> gitlab Github a été racheté par MS. C'est donc mal. On peut facilement migrer ses dépôts sur gitlab, qui est libre et opensource: Switching from GitHub to GitLab. Et si vous voulez qu'on vous voie toujours sur windaube, ben suffit de laisser votre repo ouvert et de pointer depuis sur vos repos ouverts. Flux RSS de github GitHub provides some official RSS feeds officially: Repo releases: https://github.com/:owner/:repo/releases.atom Repo commits: https://github.com/:owner/:repo/commits.atom User activities: https://github.com/:user.atom Private feed: https://github.com/:user.private.atom?token=:secret (You can find Subscribe to your news feed in dashboard page after login) Credits: https://stackoverflow.com/questions/7353538/setting-up-a-github-commit-rss-feed#7353586 Tips gitlab-api https://blog.stephane-robert.info/post/gitlab-api/ Voir aussi Clay Shirky : Comment internet transformera un jour le gouvernement (Git et la démocratie) une vidéo assez drôle sur la possible (l'impossible) utilisation de gitlab auprès des politicien·nes et des citoyen·nes. docker version,, versioning,, subversion,, mercurial,, hg,, svn, git 1) source: l'excellent David Demaree, Git par la pratique paru chez Eyrolles, que je vous recommande chaudement, voir infra sous “Bouquins” info/git/homepage.txt Dernière modification : 2023/09/05 09:41de radeff S'identifier