Quand j'essayais git add -p someNewFile.txt
un nouveau fichier (un fichier non suivi), git sortait simplement No changes.
et s'arrêtait. J'ai dû dire à git que j'avais l'intention de suivre le nouveau fichier en premier.
git add -N someNewFile.txt
git add -p
Cependant, comme le fichier n'a pas été suivi, il apparaîtrait comme un morceau géant qui ne pouvait pas être divisé (car tout est nouveau!). Alors, j'ai eu besoin de modifier le morceau en petits morceaux. Si vous n'êtes pas familier avec cela, consultez cette référence pour commencer.
Mise à jour - Informations d'édition Hunk
Je voulais mettre à jour cela au cas où la référence ci-dessus disparaîtrait. Parce que le nouveau fichier n'est pas suivi, git add -p
affichera chaque ligne du fichier comme une nouvelle ligne dans un morceau. Il vous demandera ensuite ce que vous voulez faire de ce morceau, vous donnant l'invite suivante:
Stage this hunk [y,n,q,a,d,/,e,?]?
En supposant que vous ne voulez pas valider tout le morceau (et donc, le fichier entier; parce que je ne sais pas pourquoi vous voudriez utiliser git add -p
dans ce cas?), Vous voudrez spécifier une option e
pour dire à git que vous voulez éditer le morceau.
Une fois que vous avez dit à git que vous voulez éditer le morceau, il devrait vous déposer dans l'éditeur de votre choix afin que vous puissiez apporter vos modifications. Toutes les lignes doivent être préfixées par a +
et git a quelques commentaires explicatifs (préfixés par a #
) à la fin du fichier. Supprimez simplement toutes les lignes que vous ne voulez pas dans votre validation initiale du fichier. Puis enregistrez et quittez l'éditeur.
Explication de Git sur les options de morceau de git:
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
git add -N
fait, il ajoute simplement les fichiers non suivis spécifiés à l'index, mais sans contenu.