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:
Le commit écrasé de Branch1
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 № 1Dans 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
).