Dans git, si j'ai quelques morceaux du même fichier mis en scène dans mon index, comment puis-je désinstaller l'un d'entre eux de manière interactive?
Existe-t-il une alternative à la suppression du fichier entier, puis à la remise en place des morceaux que je souhaite conserver, ou à l'annulation manuelle des modifications de la copie de travail, puis à l'ajout interactif de ces modifications annulées?
git stash save --keep-index
pour enregistrer et réinitialiser vos modifications de copie de travail actuelles. Ensuite, vous pouvez réinitialiser votre fichier et annuler les modifications que vous ne souhaitez pas. Si vous copiez d'abord le fichier dans un emplacement temporaire, vous pouvez l'utiliserdiff
pour enregistrer les modifications que vous annulez. Ensuite, vous pouvez ajouter à nouveau le fichier (pas besoin d'ajout interactif puisque vous avez caché les autres modifications qui ne vous intéressaient pas). Utilisezgit stash pop
pour récupérer les anciennes modifications etdiff
pour appliquer les modifications que vous avez annulées. Assez encombrant ... :-(The short form -p also works for both commands.
.. Vous voulez diregit reset -p filename
?git add -p filename
met en scène de manière sélective les modifications à partir de ce fichier etgit reset -p filename
annule de manière sélective les modifications. Il y a aussigit checkout -p -- filename
, qui vous permet d'annuler de manière sélective les modifications d'un fichier. Attention: chacun desadd
etreset
peut être utilisé pour annuler l'autre des deux, mais si vous utilisez ce formulaire pour annulercheckout
un changement, vous ne pouvez pas le récupérer.git gui
a une interface graphique décente pour mettre en scène ou désinstaller de manière interactive des morceaux ou des lignes. Il existe des clients GUI plus jolis / meilleurs, mais ilsgit gui
sont légers, intégrés et multiplateformes (lin, win, mac).https://git-scm.com/docs/git-gui
Faites simplement un clic droit sur un morceau pour mettre en scène / désinstaller. Pour les lignes, mettez d'abord les lignes en surbrillance, puis cliquez avec le bouton droit de la souris.
la source
GitX a une belle interface utilisateur pour désinstaller des morceaux d'un fichier:
Le client officiel n'a pas été maintenu depuis un certain temps, mais un fork sur GitHub avec plus de fonctionnalités est populaire dans certains cercles. ( article de blog à ce sujet )
la source
git gui
, sauf que je ne suis pas sûr que j'utiliserais le mot «gentil»;)