Github

De Banane Atomic
Aller à la navigationAller à la recherche

Contribuer à un projet : workflow

Fork et Push

Créer un fork du dépot en cliquant sur le bouton Fork de la page web du projet

Bash.svg
# Clonez votre fork, son nom est origin par défaut
git clone https://github.com/mon_nom/projet.git

# Ajoutez le dépôt du mainteneur du projet
git remote add upstream https://github.com/mainteneur/projet.git

# Créez une branche locale pour chaque développement et basculer dans cette branche pour effectuer les modifications
git checkout -b NouveauDev

# Commiter les modification sur la branche locale NouveauDev

# Pousser les modifications de la branche locale NouveauDev vers le dépôt origin
# ce qui aura pour effet de créer une branche origin/NouveauDev sur le dépôt distant origin
git push origin NouveauDev

Pull request

Notifiez le mainteneur du projet d'une modification pour qu'il la fusionne :
Allez sur la page web du fork du projet → branches → New pull request

Une seule pull request par branche.
C'est pourquoi il est utile de faire une branche pour chaque développement.

Utiliser les modifications des Pull requests

Chaque nouvelle fonctionnalité a été développée sur une nouvelle branche, car chaque Pull request est associé à une branche.
En attendant que les Pull requests soit acceptées, on aimerait profiter de ces nouvelles fonctionnalités fraîchement développées.

Bash.svg
# création d'une nouvelle branche à partir de master qui contiendra toutes les modifications des Pull requests
git checkout -b AllDevPullRequest master

# fusionner les branches des Pull requests dans AllDevPullRequest
git merge BranchPullRequest1

# astuce: fusion en avance rapide (fast-forward merge) de BranchPullRequest1 dans AllDevPullRequest
# on a pas besoin de basculer sur AllDevPullRequest pour faire cette fusion
git fetch . BranchPullRequest1:AllDevPullRequest

# mettre à jour AllDevPullRequest par rapport à upstream/master
git fetch upstream
git rebase upstream/master AllDevPullRequest

Pull request acceptée

Une fois la Pull request fusionnée dans le dépôt mainteneur/master

Bash.svg
# se positionner sur le dépôt local (branche master)
git checkout master

# mettre à jour le dépôt local (branche master) avec les modification du dépôt du mainteneur (branche upstream)
git pull upstream master

# mettre à jour le dépôt fork (branche origin) avec les modification du dépôt local (branche master)
git push --tags origin master

# supprimer la branche locale NouveauDev
git branch -d NouveauDev

# supprimer la branche NouveauDev du dépôt origin
git push origin :NouveauDev

Mettre à jour origin par rapport à upstream

Bash.svg
# bascule sur la branche master
git checkout master

# rebase de upstream/master dans la branche courante (master)
git rebase upstream/master

# push les changements de la branche courante (master) vers origin/master
git push origin master

Créez un dépôt

Cliquez sur le bouton Create a new repo situé en haut à droite de la page de votre compte GitHub.

Bash.svg
# Liez un dossier Git à un dépôt distant
git remote add origin https://github.com/Utilisateur/Projet.git

Supprimer un dépôt

Se rendre sur la page du dépôt → Settings → Delete this repository

GitHub Flavored Markdown pour les fichiers md

Markdown.svg
# Titre 1
## Titre 2

Titre 1
========
Titre 2
--------

[Texte du lien](http://url.fr)
![alt text](http://url.gif "Tooltip text")
<user@email.fr>

* puce 1
    * puce 1.1 avec tabulation
* puce 2

*Texte italique*
**Texte gras**

`code`

```python
    code python
```

Configuration pour GitHub

Vérifiez que user.name et user.email ont bien été enregistrés.
Avec le même email que celui du compte GitHub.

Bash.svg
# Mise en cache du mot de passe pour 15 mn pour éviter de le retaper à chaque échange avec le serveur
git config --global credential.helper cache

Ne plus autoriser l'accès à une OAuth Apps

Menu déroulant en haut à droite à côté de l’icône de profile → Settings → Authorized OAuth Apps

Configuration

Changing the default branch

  • Settings → General → Default branch

Default reviewers / CODEOWNERS

.github/CODEOWNERS
*       @Team1 @User1

When a pull request is ready for review, code owners are automatically notified.