J'ai créé une nouvelle branche nommée newbranch
à partir de la branche master
de git. Maintenant, j'ai fait quelques travaux et je veux fusionner newbranch
à master
; Cependant, j'ai apporté quelques modifications supplémentaires à newbranch
et je souhaite fusionner newbranch
jusqu'au quatrième commit à partir du dernier, jusqu'à master
.
J'ai utilisé cherry-pick
mais il montre le message pour utiliser les bonnes options:
git checkout master
git cherry-pick ^^^^HEAD newbranch
Puis-je utiliser git merge
pour le faire à la place?
git merge newbranch <commitid>
Bien sûr, être dans la branche master
, tout ce que vous avez à faire est:
git merge <commit-id>
où commit-id
est le hachage du dernier commit de newbranch
que vous voulez obtenir dans votre branche master
.
Vous pouvez en savoir plus sur n'importe quelle commande git en faisant git help <command>
. Dans ce cas, il s'agit de git help merge
. Et les docs disent que le dernier argument de la commande merge
est <commit>...
, de sorte que vous pouvez passer une référence à toute validation, voire à plusieurs validations. Bien que je ne l'ai jamais fait moi-même.
Pour garder la ramification propre, vous pouvez faire ceci:
git checkout newbranch
git branch newbranch2
git reset --hard <commit Id> # the commit at which you want to merge
git checkout master
git merge newbranch
git checkout newbranch2
Ainsi, newbranch se terminera là où il a été fusionné avec master et vous continuerez à travailler sur newbranch2.
Exécutez la commande ci-dessous dans le dossier de la branche en cours pour fusionner de ce <commit-id>
à la branche actuelle, --no-commit
ne faites pas une nouvelle validation automatiquement.
git merge --no-commit <commit-id>
git merge --continue
ne peut être exécuté que lorsque la fusion a donné lieu à des conflits.
git merge --abort
Abandonnez le processus de résolution de conflit en cours et essayez de reconstruire l'état avant fusion.