2017-04-15 1 views
2

Je veux ignorer les modifications apportées aux fichiers de configuration dans mon {projet_dir}/application/config/{tous les fichiers de configuration et sous-répertoires}. Mais je veux que les anciens fichiers et sous-répertoires soient dans le repo. Je veux juste que les modifications que j'ai apportées à plusieurs fichiers de configuration ne soient pas envoyées au repo. Donc, quelqu'un peut-il me dire comment gitignore mon répertoire de config afin que tous les changements que je fais dedans soient ignorés sans affecter les fichiers actuels et les sous-répertoires dans le repo.Gitignore les modifications actuelles, mais conserve les anciennes versions dans le repo

J'ai essayé ces derniers dans mon .gitignore fichier dans le projet dir racine et sa ne fonctionne pas:

/application/vendor/ 
application/vendor 
application/vendor/* 
application/vendor/** 

Répondre

-1

.gitignore lui-même ne supprimera pas les fichiers. Il ignore simplement les modifications, jusqu'à ce que vous émettiez un git rm --cached.

Je vous recommande également de mettre les ignorés dans .git/info/exclude, il est donc disponible en exclusivité pour votre clone.

Quoi qu'il en soit, la réponse doit être simple (si je comprends bien):

/application/config/** 
0

La lecture de votre question, il semble que vous voulez ignorer les modifications apportées à certains fichiers localement, alors qu'il pourrait y avoir des changements en amont. Dans ce cas, vous pouvez exécuter

git update-index --assume-unchanged <file> 

pour que git ignore les modifications locales apportées au fichier.

Puis, quand vous voulez suivre les changements encore, vous pouvez le faire:

git update-index --no-assume-unchanged <file> 

Notez que si le fichier en question est changée par commits en amont, vous devrez exécuter la deuxième commande avant de faire un git pull , sinon vous pourriez avoir des conflits de fusion.