Pause de plusieurs changements en séparer s'engage avec git?
Si j'ai fait de multiples ensembles de modifications apportées à un fichier de grande taille, est-il possible de diviser ceux-ci en des livraisons séparées à l'aide de git?
- Double Possible de Comment diviser une livraison dans les plus petits s'engage avec Git?.
- Aussi, il n'est pas clair si les modifications ont déjà été commis ou non. S'ils ont été commis dans plusieurs engage déjà,
rebase --interactive
est le chemin à parcourir. Si non,git add --patch
est l'une des options que vous devriez considérer.
Vous devez vous connecter pour publier un commentaire.
Vous voulez
git add --patch
(la documentation), ce qui vous permettra de sélectionner les changements de scène.git add --patch
, veuillez avoir la politesse de fournir une explication quant à pourquoi.git add -p
qui nous permet de sélectionner la morceau de scèneOui, vous pouvez -- utilisation
git add -i
pour sélectionner les mecs vous voulez scène à chaque commit. Vous pouvez obtenir de la documentation en cours d'exécutiongit help add
et le défilement de "Mode Interactif".Williams répondre est parfaitement valide. Mais parfois, il est plus facile de faire les choses en main. Par exemple, si vous avez accidentellement mis à jour une bibliothèque tierce avec beaucoup de fichiers avant de commettre les changements que vous avez effectués précédemment. Avec
git add -p
(le même que--patch
), vous auriez besoin de marcher à travers tous les fichiers de ce. Donc, dans ce cas, il est beaucoup plus pratique il suffit de transférer le fichier que vous souhaitez engager et faire une seconde s'engager avec tous les autres changements:git add -p
vous permet de sélectionner le fichier à la ligne de commande, et dans la session interactive, vous pouvez sauter à un morceau à l'aide deg
, ou rechercher un morceau correspondant à une expression régulière en utilisant/
. Le point deadd -p
est de sélectionner les beaux mecs à partir d'un fichier, mais cette solution proposée requiert l'ajout de la totalité du fichier, ce qui n'est pas ce que l'OP veut.