Comment cueillir facilement avec magit?

40

J'utilise magit depuis quelques mois maintenant et je l'aime beaucoup. Mais une chose que je fais encore dans un terminal est la cueillette des cerises.

Quel est un moyen simple de faire cela?

caisah
la source

Réponses:

31

Partout où vous voyez un commit dans un tampon Magit, vous pouvez le sélectionner en déplaçant le point là-bas, puis en le tapant A A. Vous pouvez également sélectionner plusieurs validations à la fois: il suffit de sélectionner certaines validations à l'aide de la région, puis d'appuyer sur A A.

tarse
la source
45

Version Magit <= 1.4.2

C'est assez facile:

  1. Entrez l'aperçu magit-status
  2. Vérifiez (branchez b b) la branche dans laquelle vous voulez sélectionner.
  3. Faites une plage de journaux (appuyez sur l r l) pour trouver les commits que vous souhaitez sélectionner. Ici, vous sélectionnez les 2 branches que vous souhaitez comparer.
  4. Faites défiler jusqu'au commit que vous voulez sélectionner et appuyez sur Apour appliquer les modifications et les mettre en parallèle avec le message de commit. Si vous appuyez sur, ales modifications ne seront pas mises en scène, mais seulement appliquées.

Vous n'avez pas besoin de faire une plage de bûches pour sélectionner les cerises. Chaque fois que vous voyez un journal de validation, vous pouvez appuyer sur Apour le sélectionner.

Version Magit> = 2.1.0

Après la mise à niveau de magit vers la version 2.1, le flux de travail est différent. Pour les deux méthodes, vous devez d’abord démarrer magit-status.

Méthode A : La sélection des cerises est effectuée une à une dans une autre branche

  1. Appuyez sur lpuis sur opour obtenir une liste des autres branches.
  2. Sélectionnez la branche que vous souhaitez sélectionner.
  3. Passez au commit dont vous avez besoin et appuyez sur, Apuis à Anouveau sur.
  4. La ligne d'état vous indiquera quel commit vous avez sélectionné

    par exemple feature/ABC~4

    Appuyez sur Enterpour appliquer les modifications.

Méthode B : Cerise Sélectionnez toutes les modifications d'une autre branche.

  1. Appuyez sur Apour choisir le mode de sélection des cerises.
  2. Appuyez à Anouveau pour appliquer et valider les modifications. Appuyez sur apour appliquer uniquement les modifications.
  3. Choisissez une branche dans laquelle sélectionner les modifications et appuyez sur Enter.

Personnellement, je préfère la méthode A, car vous pouvez mieux gérer les conflits de fusion.

cb0
la source
8

Je n'utilise pas la cueillette des cerises, mais la frappe ?dans les magit-statusspectacles y: Cherry. Cela lance la commande magit-cherry, qui vous permet de choisir une tête et une amont. On dirait que c'est ce que vous voulez.

Vous pouvez taper C-h r d m Magit RETpour lire le manuel Magit. Vous pouvez utiliser C-s cherryet appuyer plusieurs fois C-spour rechercher dans le manuel. On dirait que l'info est dans la section 23:

L'un des avantages de gitcette fonction est qu'il peut vous indiquer les commits qui ont été fusionnés en amont, mais pas localement et vice versa. La sous-commande de Git pour cela est cherry(à ne pas confondre avec cherry-pick). Magit prend en charge cela en appelant ce magit-cherryqui est lié à ypar défaut.

Magit vous demandera ensuite d’abord la révision en amont (qui par défaut est la branche distante actuellement suivie) et la révision principale (qui est par défaut la branche actuelle) à utiliser dans la comparaison. Vous verrez alors un nouveau tampon dans lequel toutes les validations sont répertoriées avec un marqueur de direction, leur révision et la première ligne du message de validation. Le marqueur directionnel +indique soit un commit présent en amont mais pas en tête, soit -un commit qui est présent en tête mais pas en amont.

À partir de cette liste, vous pouvez utiliser les raccourcis clavier habituels pour la sélection sélective des commits individuels ( apour la sélection sélective sans A validation et pour la même chose, en plus de la validation automatique). Le tampon est actualisé automatiquement après chaque sélection.

nounou
la source
1
Lorsque vous invoquez le manuel Magit, vous pouvez enregistrer un trait de clé en effectuant l'opération à la C-h iplace de C-h r d. Cela vous mènera directement au niveau supérieur d’Info.
Itsjeyd
1
@itsjeyd Nahh, C-h ivous amène au dernier fichier info que vous avez ouvert. Par conséquent, si je clique dessus, C-h i mje pourrais éventuellement consulter un menu de chapitres dans SICP au lieu d'un menu contenant tout. Frapper daprès C-h iou C-h rgarantira que vous serez dans le répertoire Info avant de frapper m.
Nounou
C'est un bon tour, je ne savais pas ça! En outre, totalement hors-sujet: Une version Info de SICP?! Où puis-je obtenir une copie? :)
itsjeyd
@itsjeyd Je le garde dans ma Dropbox, je pense que je l'ai eu d'ici: github.com/webframp/sicp-info
nounou
1
Merci! J'ai vérifié MELPA et il s'avère qu'un paquet est construit à partir de ce référentiel. Donc, installer la version Info de SICP est aussi simple que M-x package-install RET sicp RET:)
itsjeyd