Pour pouvoir pousser sur un dépôt en utilisant un token plutôt que le mot de passe du site, il faut :
read:org, repo, user:email, workflow (si le dépôt contient un dossier .workflow),push, mettre le nom d'utilisateur puis le token (pas le mot de passe de connexion de github). Il faut aussi faire attention que l'adresse de push est bien en https:// et pas en git://.Il existe 3 méthodes pour merger un pull request.
Dans les exemples ci-dessous, il y a deux commits dans la pull request et la pull request est en tard d'un commit sur la branche principale.
Le merge commit va garder tous les commits dans la branche externe (même si elle est supprimée) et simplement créer un commit pour réunir la branche de la pull request et la branche principale.
git merge --no-ff branch
La bifurcation est conservée.
L'historique n'est pas pollué par le commit de fusion.
Tous les commits de la pull vont être fusionnés dans un nouveau commit dans la branche principale.
git merge --squash branch git commit -m "message"
Les deux branches restent indépendantes
Il y a deux noms : celui qui fait la pull request et celui qui l'a mergée.
Tous les commits de la pull vont être dupliqués / rebasés dans la branche principale.
Attention, hash1 n'est pas inclus.
git cherry-pick hash1..hash2
Les deux branches restent indépendantes.
Il y a deux noms dans les commits importés depuis la pull request : celui qui fait la pull request et celui qui l'a mergée.
Cloner tous les forks pour les lire dans un logiciel graphique.
#!/usr/bin/env bash OWNER="githubuser0xFFFF" REPO="Qt-Advanced-Docking-System" PAGE=1 PER_PAGE=100 mkdir -p $REPO cd $REPO || exit git init -q while true; do DATA=$(curl -s "https://api.github.com/repos/$OWNER/$REPO/forks?per_page=$PER_PAGE&page=$PAGE") COUNT=$(echo "$DATA" | jq 'length') [ "$COUNT" -eq 0 ] && break echo "$DATA" | jq -r '.[].url' | while read -r APIURL; do USER=$(echo "$APIURL" | cut -d'/' -f5) GITURL="https://github.com/${USER}/${REPO}.git" git remote add "$USER" "$GITURL" 2>/dev/null || continue GIT_TERMINAL_PROMPT=0 git fetch "$USER" -q done PAGE=$((PAGE+1)) done