Aller au contenu

Git/GitHub

Un livre de Wikilivres.
< Git

GitHub est une forge logicielle lancée en 2008, puis rachetée par la société Microsoft en 2018.

Contrairement à GitLab, il ne peut y avoir qu'un seul admin par repo[1], mais on peut créer des groupes d'utilisateurs pour son organisation[2][3]. Donc s'il y a plusieurs mainteneurs de prévu, mieux vaut créer le dépôt dans l'organisation au lieu de le faire dans un profil personnel.

GitHub est utilisable 100 % en ligne, possède aussi un client lourd pour générer des commandes Git.

Dans la vue de comparaison, ajouter "w=1" (white spaces) à l'URL permet de masquer les modifications d'espaces et retours à la ligne.

Les pipelines ont été ajoutés en 2019 dans GitHub Actions.

Ils sont configurés en cliquant sur "Actions", et sauvegardés dans des .yml du dossiers .github/worflows/ de l'application.

Exemple simple

[modifier | modifier le wikicode]

Pipeline avec deux étapes successives en Python, dans le fichier .github/worflows/python_app.yml :

name: Python application

on:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up Python 3.10
        uses: actions/setup-python@v3
        with:
          python-version: "3.10"
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
      - name: Test
        run: |
              python tests/my_test.py

Migrer de GitHub vers GitLab

[modifier | modifier le wikicode]

L'interface graphique de GitLab permet d'importer un dépôt GitHub dont on est admin mais cela ne change pas la configuration des PCs et serveurs qui pointaient vers GitHub.

Pour ce faire, depuis chacun d'eux[4] :

 git remote rename origin origin_github
 git remote add origin https://gitlab.com/mon_organisation/mon_repo
 # Si besoin de mettre à jour
 git push -u origin