J'ai un référentiel Bitbucket Git géré avec Sourcetree.
J'ai deux dossiers que je souhaite valider, mais je dois ignorer tous les fichiers de ces dossiers, car ils ne contiennent que des fichiers temporaires.
Comment puis je faire ça?
J'ai un référentiel Bitbucket Git géré avec Sourcetree.
J'ai deux dossiers que je souhaite valider, mais je dois ignorer tous les fichiers de ces dossiers, car ils ne contiennent que des fichiers temporaires.
Comment puis je faire ça?
Réponses:
Ajoutez ceci à .gitignore:
*
!.gitignore
.gitginore
c'est un fichier normal, créez-le simplement dans le répertoire dont vous voulez ignorer le contenu.
Pour les utilisateurs de Sourcetree: Si vous voulez ignorer un dossier spécifique, sélectionnez simplement un fichier dans ce dossier, faites un clic droit dessus et faites "Ignorer ...". Vous aurez un menu contextuel dans lequel vous pouvez ignorer «Ignorer tout ce qui se trouve sous: <VOTRE DOSSIER NON SOUHAITÉ>»
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 un signe moins sur l'icône d'arrière-plan rouge et l'icône du fichier dans les fichiers non créés. liste des se changera en un signe de question sur un fond violet. Désormais, dans la liste des fichiers non créés , l'option «Ignorer» est à nouveau activée. Faites comme décrit ci-dessus.
Faites un clic droit sur un fichier → Ignorer → Ignorer tout ce qui se trouve en dessous .
Si l' option Ignorer est grisée, alors:
Autant que je sache, Git ne suit pas les dossiers, seuls les fichiers - donc les dossiers vides (ou les dossiers où tous les fichiers sont ignorés) ne peuvent pas être validés. Si, par exemple, vous avez besoin que le dossier soit présent en raison d'une étape de votre processus de construction, vous pouvez peut-être demander à votre outil de construction de le créer à la place? Ou vous pouvez mettre un fichier vide et non ignoré dans le dossier et le valider.
Après m'être cogné la tête à ce sujet pendant au moins une heure, je propose cette réponse pour essayer de développer les commentaires que d'autres ont faits. 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 exactement ".gitignore"), créez un fichier texte factice dans le dossier que vous souhaitez exclure. À l'intérieur de l'arborescence des sources, cliquez dessus avec le bouton droit de la souris et sélectionnez Ignorer. Vous obtiendrez une fenêtre contextuelle qui ressemble à ceci.
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 mettra la spécification du dossier.
Si vous avez déjà un dossier .gitignore dans votre dossier racine, vous pouvez suivre la même approche 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 chemin plutôt que des barres obliques inverses, comme nous, les utilisateurs de Windows, sommes habitués. 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 seulement l'extension).
Notez que l'ajout du .gitignore et de la spécification de fichier n'aura aucun effet sur les fichiers qui sont déjà suivis. Si vous les suivez déjà, vous devrez arrêter de les suivre. (Cliquez avec le bouton droit sur le dossier ou le fichier et sélectionnez Arrêter le suivi.) Vous les verrez alors passer d'une icône verte / propre ou orange / modifiée à une icône rouge / supprimée. Lors de votre prochain commit, 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 Ignorer était désactivé pour des fichiers particuliers et je pense que c'était parce qu'il essayait d'ignorer un fichier qui était déjà suivi. Vous ne pouvez ignorer qu'un fichier comportant une icône de point d'interrogation bleue.
Comme mentionné par d'autres: git ne suit pas les dossiers, 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 quiconque extrait le référentiel aura le dossier.
Le contenu du fichier gitignore signifiera que tout ce qu'il contient est ignoré
Vous n'avez pas besoin de ne pas ignorer le fichier .gitignore lui-même . C'est une règle qui ne servirait à rien une fois engagée.
OU
si vous préférez conserver toutes vos définitions d'ignorer 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 s'assurer que 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, vide.
Si votre Ignore option est grisée, vous devez arrêter le suivi du fichier avant de pouvoir l'ignorer. Vous pouvez simplement faire un clic droit sur le fichier et cliquer sur "Arrêter le suivi".
Une icône bleue devrait apparaître à côté. Cliquez à nouveau dessus avec le bouton droit et cliquez sur ignorer.
Ignorez le dossier complet de l'arborescence 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 le dossier bin et le dossier obj, écrivez simplement: * / bin / * / obj /
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!
*
moyens ignorent tous les fichiers, et les!.gitignore
moyens n'ignorent pas le fichier lui