web-dev-qa-db-fra.com

La terre d'arc de Phabricator ne fonctionnera pas car il y a plusieurs révisions sur la branche

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?

21
lpappone

Je recommande à mes développeurs d'utiliser --revision pour appliquer la modification spécifique.

Par exemple: arc land --revision D123 --onto devel

31
CEPA

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
0
internetross