Comment commettre un fichier à la fois à l'aide de Git?
Dire qu'il y a plusieurs fichiers modifiés et je veux juste un fichiers engage à chaque fois. Comment faire? Un exemple avec l'état ressemble à ci-dessous. Merci!!
Ex:
> git status
# modified: file01.txt
# modified: file02.txt
# modified: file03.txt
# modified: file04.txt
# modified: file05.txt
Vous devez vous connecter pour publier un commentaire.
Il existe quelques façons, mais la plus simple est probablement:
Les chemins d'accès par vous de la liste après la validation de la commande sera engagée indépendamment de savoir si ils sont mis en scène pour être engagée. Alternativement, vous pouvez stade de chacun, puis valider:
git reset file01.txt
) et essayez à nouveau (git add -p file01.txt
).Utilisation
git add -p
suivie pargit commit
.git add -p
vous demande pour chaque changement si en scène pour avoir commis, ce qui est super pratique.Vous pouvez également utiliser
-p
avecgit reset
etgit checkout
.git add -p
décrit par daf réponse est agréable, mais pour une approche plus directe, à la cueillette et le choix, je suis vraiment aimer:git add -e
Il génère le patch, puis le charge dans votre éditeur préféré de sorte que vous pouvez modifier comme vous le souhaitez. Lorsque vous enregistrez le fichier et quittez l'éditeur, et seulement les modifications apportées par votre version modifiée du patch sont ajoutés à l'index.
Si vous fermez accidentellement l'éditeur sans apporter de modifications, vous voudrez probablement utiliser
get reset HEAD
et puis recommencer.-e
sur-p
ainsi.répéter.
get stash --keep-index
: sinon, mis en scène changements obtenir planqué trop.Sur le sujet de la mise en scène des changements partiels à l'intérieur d'un fichier, il est intéressant de noter que les différents éditeurs de texte disposent d'un soutien pour faire cela dans une jolie manière que toutes les options de ligne de commande.
- Je utiliser Magit pour Emacs, qui utilise d'une seule touche pour marcher vers l'avant ou vers l'arrière à travers les beaux mecs, augmentant ou diminuant le niveau de granularité, et la mise en scène ou de l'onu-mise en scène de l'actuel hunk. Vous pouvez également marquer une région manuellement et le stade (ou de l'onu-scène) vient de cette région.
Je crois il existe des plugins pour vim, et d'autres éditeurs /IDEs ainsi.