J'ai deux branches, démarrées à des points différents. Ils sont généralement les mêmes, à l'exception de quelques commits supplémentaires sur l'un d'entre eux. Quand j'essaye d'atterrir celui-là, je reçois:
Exception d'utilisation: Il existe plusieurs révisions sur la branche de fonctionnalité 'newbranch' qui ne sont pas présentes sur 'devel': - D newbranch1 - D autre branche
Séparez ces révisions sur différentes branches ou utilisez --revision 'pour utiliser le message de validation de et les atterrir toutes.
Je ne trouve aucune indication sur la manière de séparer les révisions en différentes branches, ni même sur ce que cela signifie. Y a-t-il un moyen de contourner cela?
Je recommande à mes développeurs d'utiliser --revision
pour appliquer la modification spécifique.
Par exemple: arc land --revision D123 --onto devel
Bien que la réponse ci-dessus ( https://stackoverflow.com/a/30947476/181344 ) soit correcte, si vous vous trouvez dans une situation où vous interagissez avec Phabricator via des commandes qui sont abstraites au-dessus de arc land
et ne sont pas capable de passer directement l'argument --revision
, sachez que vous avez également la possibilité de supprimer les commits de différentes révisions, puis de tenter d'atterrir à nouveau.
Il y a plus d'une façon d'accomplir l'écrasement de vos commits. Quelques suggestions sont:
$ git checkout my-feature-branch && git reset --soft master && git commmit -am 'my new commit message'
Ou
$ git rebase -i master