web-dev-qa-db-fra.com

Comment valider tous les fichiers sauf un dans GitHub pour Windows

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?

15
sagar.musale

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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:

  • Remplacez filename par le nom réel du fichier à exclure.
  • Au lieu d'exclure un seul fichier, vous pouvez également exclure un répertoire complet. Vous pouvez le faire en substituant simplement le nom du répertoire à la place de filename.
  • Un moyen simple de démarrer un shell Git consiste à lancer GitHub pour Windows, à cliquer avec le bouton droit de la souris sur le projet dans lequel vous souhaitez exclure/ignorer le fichier et à sélectionner l'option 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.
26
dennisschagt

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
0
Lirianna