Logo Khaganat

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
fr:git [2017/03/03 10:54] – [Commandes de base] branches ! zatalyzfr:git [2022/03/25 22:09] (Version actuelle) – Annuler les pseudo-modif zatalyz
Ligne 2: Ligne 2:
 Nous utilisons [[https://git.khaganat.net/|une instance locale de Gitlab]] pour gérer nos dépôts. Nous utilisons donc le système de gestion des dépôts Git. Nous récupérons aussi les données de Ryzom Core qui utilise le système de gestion des dépôts [[fr:mercurial|Mercurial]]. Nous utilisons [[https://git.khaganat.net/|une instance locale de Gitlab]] pour gérer nos dépôts. Nous utilisons donc le système de gestion des dépôts Git. Nous récupérons aussi les données de Ryzom Core qui utilise le système de gestion des dépôts [[fr:mercurial|Mercurial]].
  
-Voir aussi [[fr:principe_de_developpement_sur_khaganat|les principes de base et comment récupérer les données propres à Khaganat]].+Voir aussi [[fr:principe_de_developpement_sur_khaganat|les principes de base et comment récupérer les données propres à Khaganat]], ainsi que [[fr:gitflow]]. Les possibilités de Gitlab sont très bien présentées sur l'article [[https://makina-corpus.com/blog/metier/2019/gitlab-astuces-projets/|Gérer des projets avec Gitlab]].
  
 <WRAP center round info 60%> <WRAP center round info 60%>
Ligne 8: Ligne 8:
 </WRAP> </WRAP>
  
 +
 +
 +
 +===== Installer et paramétret Git chez soi =====
  
 Commencez par installer git sur votre ordinateur. Commencez par installer git sur votre ordinateur.
Ligne 45: Ligne 49:
 Afin de ne pas retaper son mot de passe à chaque "push", vous pouvez configurer ssh pour vous connecter directement à votre compte. Afin de ne pas retaper son mot de passe à chaque "push", vous pouvez configurer ssh pour vous connecter directement à votre compte.
  
-Commencez par [[fr:connexion_serveur_admin|générer votre clé ssh]] si ce n'est pas déjà fait et assurez-vous que l'agent ssh est lancé :+Commencez par [[fr:ssh#generer_une_cle|générer votre clé ssh]] si ce n'est pas déjà fait et assurez-vous que l'agent ssh est lancé :
   eval "$(ssh-agent -s)"   eval "$(ssh-agent -s)"
   ssh-add ~/.ssh/id_rsa   ssh-add ~/.ssh/id_rsa
Ligne 61: Ligne 65:
 </WRAP> </WRAP>
  
 +Pour les projets sur notre gitlab, il faut se connecter via ssh. Regardez l'adresse dans ''Dépôts'' > ''Clone''. Cela devrait être quelque chose comme 
 +  git clone ssh://git@git.khaganat.net:3543/monuser/test.git
 +
 +
 +Si l'adresse change, pour indiquer la nouvelle, c'est la commande suivante :
 +  git remote set-url origin ssh://git@git.khaganat.net:3543/monuser/test.git
 ===== Commandes de base ===== ===== Commandes de base =====
 Pour lister ce qui est à jour dans votre dossier : Pour lister ce qui est à jour dans votre dossier :
Ligne 74: Ligne 84:
  
 Pour mettre à jour ce que vous avez ajouté/modifié : Pour mettre à jour ce que vous avez ajouté/modifié :
-  git commit m 'bla bla'+  git commit -m 'bla bla'
 Les fichiers auront en commentaire votre "blabla" à cette version des modifications. Les fichiers auront en commentaire votre "blabla" à cette version des modifications.
  
Ligne 84: Ligne 94:
 Si vous ne voyez pas certains fichiers ou modifications, c'est sans doute qu'ils n'ont pas encore été intégré à master et sont sur une branche à part (voir [[fr:gitflow|l'organisation gitflow]] du travail).  Si vous ne voyez pas certains fichiers ou modifications, c'est sans doute qu'ils n'ont pas encore été intégré à master et sont sur une branche à part (voir [[fr:gitflow|l'organisation gitflow]] du travail). 
  
-Pour voir la liste des branches (l'astérisque devant une des branches indique celle sur laquelle on est) :+Pour lister toutes les branches, y compris celles qui ne sont pas décompressés depuis votre clone/pull : 
 +  git branch -r 
 +Pour voir la liste des branches sur votre installation actuelle, qui ont été décompressées (l'astérisque devant une des branches indique celle sur laquelle on est) :
   git branch   git branch
  
 Récupérez le nom de la branche, puis changez : Récupérez le nom de la branche, puis changez :
-  git branch develop 
   git checkout develop   git checkout develop
  
-Voir aussi [[https://git-scm.com/book/fr/v1/Les-branches-avec-Git-Gestion-de-branches|Les branches avec Git - Gestion de branches]] sur [[https://git-scm.com/]]+Pour récupérer directement une branche précise (par exemple ici le client) : 
 +  git clone -b develop ssh://git@git.khaganat.net:3543/khaganat/mmorpg_khanat/khanat-client.git  
 + 
 +Et si vous voulez récupérer sans l'historique, par exemple juste pour tester le client en question sans s'encombrer, c'est l'option ''<nowiki>--depth 1</nowiki>'' qui va être utile :  
 +<code>git clone -b develop --depth 1 ssh://git@git.khaganat.net:3543/khaganat/mmorpg_khanat/khanat-client.git </code>  
 +‎ 
 +Voir aussi  
 +  * [[https://git-scm.com/book/fr/v1/Les-branches-avec-Git-Gestion-de-branches|Les branches avec Git - Gestion de branches]] sur [[https://git-scm.com/]] 
 +  * [[http://fr.gitready.com/beginner/2009/03/09/remote-tracking-branches.html|Branche de suivi distant ]] sur Git Ready 
 + 
 +===== Importer les nouveautés de Ryzomcore ===== 
 +J'utilise un fork de ryzomcore sur github à partir des sources 
 + 
 +  cd khanat_opennel_code 
 +  git pull 
 +  git checkout ryzomcore 
 +  git remote add upstream https://github.com/ryzom/ryzomcore.git 
 +  git fetch upstream 
 +Essayer ça si vous utiliser les même sources   
 +  git merge upstream/develop 
 +  git push origin 
 + 
 +Et voila, c'est à jour :) 
 + 
 +Si il y a des problemes de merge en changeant de source, mais ça reprend de zero 
 +   
 +  git reset --hard upstream/compatibility-develop 
 +  git push origin ryzomcore --force 
 + 
 +===== Annuler les modifications locales ===== 
 +Parfois, lors d'un pull, ce message apparait : "error: Vos modifications locales aux fichiers suivants seraient écrasées par la fusion"
 + 
 +Soit on fait un commit, on push, soit si ce n'est pas des trucs qu'on veut garder, on fait le bourrin et on efface :  
 +  git restore * 
 + 
 +Un ''git status'' ensuite devrait montrer que tout va bien et qu'on peut tirer depuis la branche amont.
 ===== Aider la compilation de nos projets ===== ===== Aider la compilation de nos projets =====
  
Ligne 97: Ligne 143:
  
 Installer et configures docker. En super utilisateur (faites //sudo// avant sinon), installez ce qui suis : Installer et configures docker. En super utilisateur (faites //sudo// avant sinon), installez ce qui suis :
-  apt-get install docker +  sudo apt install docker.io 
-  systemctl start docker+  sudo systemctl start docker
      
  
Ligne 131: Ligne 177:
   sudo docker exec -it gitlab-runner gitlab-runner register   sudo docker exec -it gitlab-runner gitlab-runner register
  
-Rendez-vous sur la page [[https://git.khaganat.net/khaganat/khanat/runners]] pour les indications à entrer+Vous aurez besoin d'information spécifique de votre projet. 
 +(à savoir l'URL et le "registration token" 
 +[définit : settings CI/CD de votre projet GIT]) 
 + 
 +Ex.:  
 + [[https://git.khaganat.net/khaganat/mmorpg_khanat/opennel-pymanager/settings/ci_cd]] 
 + [[https://git.khaganat.net/khaganat/mmorpg_khanat/khanat-opennel-code/settings/ci_cd]] 
 + [[https://git.khaganat.net/khaganat/khanat/runners]] 
  
 ^ Question ^ Réponse possible (à adapter) ^                                                    ^ Question ^ Réponse possible (à adapter) ^                                                   
Ligne 137: Ligne 191:
 | Please enter the gitlab-ci token for this runner: | Uxhiv1oGgNd6FECKDMn5((Indiqué sur https://git.khaganat.net/khaganat/khanat/runners)) |  | Please enter the gitlab-ci token for this runner: | Uxhiv1oGgNd6FECKDMn5((Indiqué sur https://git.khaganat.net/khaganat/khanat/runners)) | 
 | Please enter the gitlab-ci description for this runner: | un nom pour vous identifier dans la liste des runners, par exemple pseudo+OS  | Please enter the gitlab-ci description for this runner: | un nom pour vous identifier dans la liste des runners, par exemple pseudo+OS 
-| Please enter the gitlab-ci tags for this runner (comma separated): | Docker,Linux  +| Please enter the gitlab-ci tags for this runner (comma separated): | Docker,Linux  
 +| Whether to run untagged builds | true | 
 +| Whether to lock the Runner to current project | true |
 | Please enter the executor: docker-ssh+machine, docker, docker-ssh, parallels, shell, ssh, virtualbox, docker+machine: | docker |  | Please enter the executor: docker-ssh+machine, docker, docker-ssh, parallels, shell, ssh, virtualbox, docker+machine: | docker | 
 | Please enter the default Docker image (eg. ruby:2.1): | ubuntu:16.04((Même si ce n'est pas votre OS, Dremor a dit que c'était ça !)) |  | Please enter the default Docker image (eg. ruby:2.1): | ubuntu:16.04((Même si ce n'est pas votre OS, Dremor a dit que c'était ça !)) | 
  
 +Dans votre fichier .gitlab-ci.yml [présent dans votre GIT], il faut s'assurer d'avoir un tag identique (par exemple Docker)
  
 ===== Ressources utiles ===== ===== Ressources utiles =====
Ligne 168: Ligne 225:
  
 Voir aussi l'utilisation de [[fr:mercurial|Mercurial]], un autre système de gestion de version. Voir aussi l'utilisation de [[fr:mercurial|Mercurial]], un autre système de gestion de version.
 +
 +===== Forges alternatives basées sur Git =====
 +
 +Forges indépendantes documentées :
 +  * [[https://notabug.org/|NotABug.org]] : basée sur [[https://notabug.org/hp/gogs/|leur fork]] de [[https://gogs.io/|Gogs]] dédiée à l'hébergement de projet sous licence libre. C'est un des projets de [[https://peers.community/|The Peers Community]].
 +  * [[https://codeberg.org/|Codeberg]] : basée sur [[https://gitea.io/en-us/|Gitea]], un fork de Gogs plus communautaire dans sa gestion, dédiée à l'hébergement de projet sous licence libre et open source.
 +
 +Divers membre du collectif [[chatons.org|C.H.A.T.O.N.S]] :
 +  * [[https://forge.tedomum.net|TeDomum.net]], association loi 1901, forge basée sur [[https://about.gitlab.com/|Gitlab CE]], [[https://tedomum.net/documentation/administration/conception/serveurs/|hébergement en France]], semble ouvert à tous et à tout usage.
 +  * [[roflcopter.fr|roflcopter.fr]], idem.
 +
 +Autres forges moins documentée :
 +  * [[https://git.en-root.org|en-root.org]] : basée sur Gitlab CE
 +  * [[https://gitlab.adullact.net|Forge de l'Adullact]] : basée sur Gitlab CE, orientée [[https://gitlab.adullact.net/adullact/Charte-Gitlat-Adullact/blob/master/README.md|logiciels libres métier]]
 +  * [[https://gitnet.fr|gitnet.fr]] : basée sur Gitea
  
 {{tag>Données Outils}} {{tag>Données Outils}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/git.1488534875.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact