/ / Git Rebase montre les précédents commits comme étant les miens - git, github

Git Rebase montre les précédents commits en tant que miens - git, github

J'ai mon projet j'ai Master et Branch1. J'ai dérivé de Branch1 et créé Branch2. Branch1 et Branch2 ont tous deux avancé avec des commits, Branch1 était distant et Branch2 était local pour moi. Une fois toutes les fonctionnalités de Branch1 terminées, tous les commits ont été supprimés. Une fois mes modifications terminées, j'ai validé mes modifications dans Branch2 et redéfini mes bases sur Branch1 en utilisant:

# On branch2
git add . && git commit "my branch"

# On branch1
git pull (to get latest changes and update local copy)

# On branch2
git rebase origin/Branch1

# fixed conflicts (1 file)

git rebase --continue
git push origin Branch2

Cependant, lorsque je vais sur github.com pour créer une demande d'extraction pour ma branche (Branch2), il affiche 2 commits:

  1. Le commit écrasé de Branch1

  2. My commit (message de validation "ma branche").

Je ne comprends pas ce comportement. Pourquoi le commit de Branch1 apparaît-il en tant que commit sur ma branche? Y a-t-il un moyen de le supprimer, c’est-à-dire n’avoir que mon commit dans ma branche?

Réponses:

0 pour la réponse № 1

Dans une demande d'extraction, vous verrez toutes les commissions manquantes dans la branche cible (par exemple, master). Ceux qui pourraient être montrés avec git log commande avec la plage de validation spécifiée (voir Utilisation de plages de validation avec le journal Git).

$ git log master..origin/branch1 --oneline
c675aeb all commits from branch1 squashed

$ git log master..branch2 --oneline
7be222e my branch
c675aeb all commits from branch1 squashed

GitHub ne se soucie pas de savoir dans quelle branche la validation a été introduite. Vous devez fusionner branch1 dans master première. Puis rebase branch2 au dessus de master (ou fusionner master dans branch2).