web-dev-qa-db-fra.com

Comment ignorer tous les fichiers d'un dossier contenant un référentiel Git dans Sourcetree?

J'ai un référentiel Bitbucket Git géré avec Sourcetree.

Je souhaite valider deux dossiers, mais je dois ignorer tous les fichiers de ces dossiers, car ils ne contiennent que des fichiers temporaires.

Comment puis je faire ça?

81
rubdottocom

Ajoutez ceci à .gitignore:

*
!.gitignore
55
Gergo Erdosi

Pour les utilisateurs de Sourcetree: Si vous souhaitez ignorer un dossier spécifique, sélectionnez simplement un fichier dans ce dossier, cliquez dessus avec le bouton droit de la souris et faites "Ignorer ...". Vous aurez un menu contextuel où vous pouvez ignorer "Ignorer tout ce qui se trouve en dessous: <VOTRE DOSSIER INDÉPENDANT>"

First menu

Second menu

Si l'option "Ignorer" est grisée, vous devez sélectionner l'option "Arrêter le suivi". Après cela, le fichier sera ajouté aux fichiers intermédiaires avec une icône de signe moins sur fond rouge et l'icône du fichier dans la liste Fichiers non stockés passera à un signe de question sur fond violet. Maintenant dans la liste fichiers non instables, l'option "Ignorer" est à nouveau activée. Faites juste comme décrit ci-dessus.

145
Kalzem

Faites un clic droit sur un fichier → Ignorer Ignorer tout ce qui se trouve en dessous .

Si l'option Ignorer est grisée, alors:

  1. Organiser un fichier en premier
  2. Clic droit → Arrêter le suivi
  3. Ce fichier apparaît dans le volet ci-dessous avec un point d'interrogation → Faites un clic droit dessus → Ignorer

Enter image description here

21
Andrei Karcheuski

Autant que je sache, Git ne suit pas les dossiers, mais uniquement les fichiers. Par conséquent, les dossiers vides (ou ceux où tous les fichiers sont ignorés) ne peuvent pas être validés. Si vous par exemple le dossier doit être présent en raison d'une étape de votre processus de génération, vous pouvez peut-être laisser votre outil de génération le créer à la place? Vous pouvez également placer un fichier vide non-annoté dans le dossier et le valider.

7
Aasmund Eldhuset

Après avoir frappé ma tête pendant au moins une heure, je propose cette réponse pour tenter de développer les commentaires de certains. Pour ignorer un dossier/répertoire, procédez comme suit: Si vous n’avez pas de fichier .gitignore à la racine de votre projet (ce nom porte exactement le nom ".gitignore"), créez un fichier texte factice dans le dossier à exclure. Dans l’arbre source, faites un clic droit dessus et sélectionnez Ignorer. Vous obtiendrez un popup qui ressemble à ceci.

enter image description here

Sélectionnez "Tout en dessous" et sélectionnez le dossier que vous souhaitez ignorer dans la liste déroulante. Cela créera un fichier .gitignore dans votre répertoire racine et y placera la spécification du dossier.

Si vous avez déjà un dossier .gitignore dans votre dossier racine, vous pouvez suivre la même approche que ci-dessus ou vous pouvez simplement modifier le fichier .gitignore et ajouter le dossier que vous souhaitez exclure. C'est juste un fichier texte. Notez qu'il utilise des barres obliques dans les noms de chemins plutôt que des barres obliques inverses, comme nous le connaissons habituellement les utilisateurs de Windows. J'ai essayé de créer un fichier texte .gitignore à la main dans l'Explorateur Windows, mais cela ne m'a pas permis de créer un fichier sans nom (c'est-à-dire avec uniquement l'extension).

Notez que l'ajout de .gitignore et de la spécification de fichier n'aura aucun effet sur les fichiers déjà suivis. Si vous suivez déjà ces informations, vous ' Je vais devoir arrêter de les suivre. (Cliquez avec le bouton droit de la souris sur le dossier ou le fichier, puis sélectionnez Arrêter le suivi.) Vous verrez ensuite les icônes passer d'une icône verte/propre ou orange/modifiée à une icône rouge/supprimée. Lors de votre prochaine validation, les fichiers seront supprimés du référentiel et apparaîtront ensuite avec une icône bleue/ignorée. Un autre contributeur a demandé pourquoi Ignore était désactivé pour certains fichiers et je pense que c'était parce qu'il essayait d'ignorer un fichier qui faisait déjà l'objet d'un suivi. Vous ne pouvez ignorer qu'un fichier comportant une icône bleue en point d'interrogation.

5
Karl Hoaglund

Comme mentionné par d'autres: git ne suit pas les dossiers, mais uniquement les fichiers.

Vous pouvez vous assurer qu'un dossier existe avec ces commandes (ou une logique équivalente):

echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"

L'existence du fichier signifiera que toute personne extrayant le référentiel aura le dossier.

Le contenu du fichier gitignore signifiera que tout ce qu’il contient sera ignoré

Vous faites pas besoin de ne pas ignorer le fichier .gitignore lui-même . C’est une règle qui ne servirait à rien du tout une fois engagée.

[~ # ~] ou [~ # ~]

si vous préférez conserver toutes vos définitions ignorées au même endroit, vous pouvez créer .gitignore à la racine de votre projet avec un contenu comme celui-ci:

*.tmp # example, ignore all .tmp files in any folder
path/to/keepthisfolder
path/to/keepthatfolder

et pour assurer les dossiers existent

touch path/to/keepthisfolder/anything
git add --force path/to/keepthisfolder/anything
git commit -m "ensure keepthisfolder exists when checked out"

"n'importe quoi" peut littéralement être n'importe quoi. Les noms couramment utilisés sont .gitignore, .gitkeep, empty.

4
AD7six

Si votre option Ignorer est grisée, vous devez arrêter de suivre le fichier avant de pouvoir l'ignorer. Vous pouvez simplement cliquer avec le bouton droit sur le fichier et cliquer sur "Arrêter le suivi".

Une icône bleue devrait apparaître à côté. Faites un clic droit dessus et cliquez sur ignorer.

2
LeRoy

Ignorer le dossier complet de l’arbre source.

   Just Open Repository >Repository setting > Edit git ignore File and 
   you can rite some thing like this :

 *.pdb 
*.bak 
*.dll
*.lib 
.gitignore
packages/ 
*/bin/
*/obj/ 

Pour les dossiers bin et obj, écrivez simplement: */bin/*/obj /

1
Rajesh Kumar

Dans Sourcetree: Ignorez simplement un fichier dans le dossier spécifié. Sourcetree vous demandera si vous souhaitez ignorer tous les fichiers de ce dossier. C'est parfait!

0
AVEbrahimi