En raison de contraintes externes étranges, je ne peux pas modifier le .gitignore
de mon référentiel. Existe-t-il un moyen d'ignorer les fichiers et répertoires autre que la modification d'un .gitignore
? Même si c'est une solution globale comme une configuration globale qui sera appliquée à tous mes référentiels.
la source
update-index --assume-unchanged
@see stackoverflow.com/a/25253144/292408update-index --skip-work-tree
. J'ai jave édité la réponse pour ajouter des liens vers d'anciennes réponses illustrant ces deuxupdate-index
commandes.Si vous pouvez modifier,
.git/info/exclude
vous pouvez y mettre les mêmes règles. Mais ce fichier se trouve uniquement dans votre dépôt local.la source
.git
répertoire dans un sous-module ....git
dossier d' un sous-moduleparent_repo/.git/modules/submodule_name
. Alors tu éditeraisparent_repo/.git/modules/submodule_name/info/exclude
Il existe trois façons d'indiquer à GIT quels fichiers ignorer:
.gitignore
des dossiers$GIT_DIR/.git/info/exclude
core.excludesfile
paramètreLes deux derniers points pourraient résoudre votre problème.
Pour plus d'informations, consultez gitignore (5) .
la source
Si vous souhaitez simplement avoir des fichiers locaux dans le référentiel et que l'emplacement du sous-répertoire est flexible, vous pouvez placer vos fichiers
tracked_dir1/tracked_dir2/untracked_dir/
, puis en ajouter untracked_dir1/tracked_dir2/untracked_dir/.gitignore
avec un contenu comme:*
C'est à dire
la source
J'ai été dans des situations similaires, alors j'ajoute ma solution préférée que je ne vois pas mentionnée. Le problème
git update-index --assume-unchanged
dans ce cas est que vous ne pouvez pas faire cela pour un fichier non suivi. Tu as ditJe vais supposer que ce que vous voulez dire, c'est que vous ne pouvez pas pousser de changements
.gitignore
à l'origine. Si tel est le cas, ce que vous pouvez faire est d'ajouter le fichier non suivi à votre local.gitignore
, puis faites degit update-index --assume-unchanged .gitignore
sorte que votre modification en.gitignore
ne soit jamais poussée. Vous ignorez maintenant le fichier (éventuellement) non suivi et n'affectez pas le.gitignore
fichier distant .la source
Ignorer les modifications locales apportées aux fichiers suivis:
git update-index --assume-unchanged my-file.php
Ne pas ignorer les modifications locales apportées aux fichiers suivis:
git update-index --no-assume-unchanged my-file.php
la source:
git help update-index
la source
Vous pouvez utiliser la méthode globale gitignore au lieu de modifier celle du projet https://help.github.com/articles/ignoring-files/#create-a-global-gitignore
la source
Autrement:
.gitignore
git update-index --assume-unchanged .gitignore
la source