Je veux valider tous les fichiers sauf un. Puis-je faire cela en utilisant le client GitHub pour Windows ou dois-je utiliser la ligne de commande? Si j'ai besoin d'utiliser la ligne de commande, comment puis-je l'utiliser?
Autant que je sache, cela n’est pas possible sans utiliser git Shell/la ligne de commande. Dans Git Shell, vous avez plusieurs options. Tous donnent un résultat légèrement différent.
Si vous souhaitez uniquement exclure le fichier pendant un certain temps (éventuellement une validation) et l'ajouter à une validation ultérieure, vous pouvez exécuter les commandes suivantes:
git add .
git reset filename
git commit -m "commit message"
La première commande ajoute tous les fichiers à la zone de transfert. Ensuite, la deuxième commande supprime le fichier de la zone de stockage intermédiaire. Cela signifie que le fichier n'est pas ajouté à la validation mais que les modifications qui y sont apportées sont conservées sur votre lecteur local.
Si le fichier est déjà validé dans le référentiel mais que vous ne voulez que sporadiquement commettre d'autres modifications du fichier, vous pouvez utiliser git update-index --assume-unchanged
de cette façon:
`git update-index --assume-unchanged filename`
Si vous modifiez ensuite le fichier localement, il ne sera pas ajouté à la zone de stockage intermédiaire lorsque vous exécuterez quelque chose pour ajouter tous les fichiers, tel que git add .
. Lorsque, après un certain temps, vous souhaitez valider à nouveau les modifications dans le fichier, vous pouvez exécuter git update-index --no-assume-unchanged filename
pour ne plus ignorer les modifications.
Vous pouvez utiliser le fichier .gitignore
si vous ne voulez pas du tout suivre un fichier. Pour ignorer un fichier nommé filename
, vous créez ou modifiez un fichier appelé .gitignore
. Mettez filename
sur une seule ligne pour ignorer ce fichier. Maintenant, le fichier n'est pas ajouté à la zone de stockage intermédiaire lorsque vous exécutez git add .
. Remarque: Si le fichier est déjà archivé, vous devez le supprimer du référentiel pour commencer à l'ignorer. Exécutez ce qui suit pour le faire:
`git rm --cached filename`
L'option --cached
indique que le fichier ne doit être supprimé que de l'index. Le fichier local, qu'il soit modifié ou non, restera le même. Vous pouvez ajouter le fichier .gitignore
et vous engager à faire en sorte que le fichier soit ignoré sur les autres machines, avec le même référentiel.
Si vous voulez ignorer un fichier non suivi mais que vous ne voulez pas partager cette ignorance avec d'autres contributeurs du référentiel, vous pouvez placer les noms des fichiers ignorés dans le fichier .git/info/exclude
. Le répertoire .git
est normalement masqué, mais vous pouvez le rendre visible en modifiant les options du dossier. Comme avec le fichier .gitignore
, vous devez exécuter git rm --cached filename
si le fichier a déjà été archivé par une validation précédente.
Quelques notes:
filename
par le nom réel du fichier à exclure.filename
.Open in Git Shell
. Vous êtes maintenant à la racine du référentiel git et vous pouvez commencer à exécuter les commandes présentées et décrites dans cette réponse.Je voudrais faire ce qui suit:
git add .
git checkout filename
git commit -m "commit message"
La première ligne ajoute tous les fichiers de la liste et la seconde supprime le fichier que vous spécifiez, où "nom de fichier" doit être le nom du fichier que vous ne voulez pas dans votre commit.
Ou
git checkout filename
git commit -am "commit message"
git commit -am ajoute des fichiers et crée le message de validation en même temps.
Et si vous avez besoin de supprimer les modifications apportées dans le dernier fichier:
git stash -u