Récupérer une branche et résoudre un conflit
Vous souhaitez regrouper plusieurs commits locaux avant une revue. Vérifiez la branche active et sauvegardez les modifications à conserver. Un instantané enregistre des références de commit. Un stash conserve des modifications en attente de commit.
Avant de réécrire l'historique
Riff tente d'enregistrer le HEAD actuel et les informations de suivi avant des opérations comme un rebase, un squash, un cherry-pick, une fusion, un revert, un reset, un amend ou un push forcé. Il conserve jusqu'à 50 instantanés par dépôt sur ce poste. Un dépôt vide ne possède pas encore de commit à restaurer. Vérifiez que la commande d'annulation est disponible pour l'opération concernée.
Si Riff propose de placer les changements en attente dans un stash, relisez-les et confirmez ou annulez. Après l'opération, retrouvez l'entrée dans les stashes et choisissez quand restaurer son contenu. Appliquer conserve l'entrée. Un pop réussi restaure les modifications et retire l'entrée de la liste.
Lorsque Git signale un conflit
- Lisez le bandeau de l'opération et ouvrez un fichier en conflit. Comparez les deux versions et la base commune si elle est disponible. Pendant un rebase, lisez le contenu avant de choisir Ours ou Theirs, car Git nomme les côtés selon le point de vue de l'opération.
- Retenez un côté pour tout le fichier ou utilisez l'éditeur à trois voies. Pour chaque zone, choisissez un côté, les deux ou votre propre texte. Relisez et enregistrez le résultat.
- Résolvez les autres fichiers et continuez lorsque le bandeau le permet. Vous pouvez abandonner l'opération en cours pour recommencer.
Annuler, rétablir et mettre à jour le dépôt distant
Annuler restaure le commit local enregistré au moyen d'un hard reset. Sauvegardez vos modifications en cours avant de confirmer. Rétablir reste disponible après redémarrage si HEAD correspond toujours à l'état laissé par l'annulation. Si le dépôt a évolué, consultez le graphe avant de poursuivre.
Le push forcé utilise --force-with-lease. Si la branche distante se trouve sur une révision différente de celle attendue par Git, le push est refusé. Faites un fetch et examinez les commits reçus. Une annulation après un push agit sur votre copie locale. Mettre à jour le serveur exige un autre push et les droits correspondants.