Je veux ignorer tous les fichiers de mon référentiel, à l'exception de ceux qui se trouvent dans le bin
sous - répertoire. J'ai essayé d'ajouter ce qui suit à mon .gitignore
:
*
!bin/*
Cela n'a cependant pas l'effet escompté: j'ai créé un nouveau fichier à l'intérieur de bin/
, mais le faire git status
montre toujours nothing to commit (working directory clean)
.
Aucune suggestion?
Réponses:
Cela ignore les fichiers racine et les répertoires racine, puis annule le répertoire racine du bac:
De cette façon, vous obtenez tout le répertoire bin, y compris les sous-répertoires et leurs fichiers.
la source
/stuff/
et!/stuff/specific/
, mais il ignore toujours / stuff / specific /git check-ignore -v
m'a dit que c'était à cause de~/.gitignore
!/bin/
à mon.gitignore
fichier racine , mais en plus j'ai dû ajouter un/bin/.gitignore
fichier avec!*
... Faire une seule de ces modifications n'a pas fonctionné. Cela n'a fonctionné qu'après avoir combiné les deux changements.Voici comment ignorer tout sauf un répertoire " MY_SUPER_DUPER_TEMPLATE_directory " dans certains répertoires
Structure: / bitrix / templates / MY_SUPER_DUPER_TEMPLATE_directory
la source
Vous devez tout exclure sur le chemin vers les destinations, mais vous devez inclure les destinations:
Remarque: Il s'agit d'un fichier d'exclusion (ie .gitignore) donc la logique est inversée. Ignorer tout, sauf le répertoire tsp, ignorer tout dans le répertoire tsp, sauf le répertoire src ...
la source
Le seul problème que vous avez est que le
bin
répertoire lui-même n'est pas mis en correspondance par lebin/*
modèle, donc git n'est même pas regarder dans lebin
répertoire.Il y a deux solutions qui me viennent à l'esprit.
.gitignore
:ou
.gitignore
:bin/.gitignore
:Je préfère la deuxième solution car la première solution n'arrêtera pas d'ignorer les fichiers du
bin
répertoire qui se trouvent dans des sous-répertoires qui ne sont pas appelésbin
. Cela peut ou non être important dans votre situation.la source
# Ignore everything * # But not these files... !/wp-content/ !/wp-content/plugins/ !/wp-content/plugins/my_plugin/ !/wp-content/plugins/my_plugin/*
pas de code de bloc dans les commentaires?Du git doc officiel , l'un des exemples dit:
Exemple pour tout exclure sauf un répertoire spécifique foo / bar (notez le / * - sans la barre oblique, le caractère générique exclurait également tout dans foo / bar):
Pour une explication sur la barre oblique principale: quand utiliser la barre oblique principale dans gitignore .
la source
Essayez de suivre la dernière version de GIT.
la source
Je pense qu'une meilleure façon serait d'ancrer chaque motif dans le répertoire git supérieur en commençant le motif par une barre oblique:
Au lieu d'ignorer tous les fichiers, il ignorera uniquement les fichiers de niveau supérieur, pas ceux du répertoire que vous ne souhaitez pas ignorer.
la source
Cela
.gitignore
fonctionne pour moi:la source
essayez ce bug git obscur.
J'espère que ça aide :)
Exemple de bogue git pour les documents de support
PS: essayez-le d'abord avant de commenter.
la source
J'ai dû le faire récemment:
Je ne sais pas pourquoi j'ai besoin de deux lignes pour exclure un dossier, mais c'est ce qui a fonctionné pour moi et les macos.
la source