2017-09-29 6 views
0

Il existe des fichiers dans le projet local, je veux garder intacte - certaines configurations avec des directives nécessaires uniquement pour le développement local. Je ne veux pas non plus qu'ils se rendent à l'origine à distance car cela va casser l'application.erreur GIT sur la fusion après l'extraction de l'origine à distance sur les fichiers que je veux garder intacte localement

J'ai mis les entrées correspondantes à .gitignore, que je ne veux pas non plus partager ou accepter. J'ai même fait git update-index --assume-unchanged, donc les changements dans les fichiers mentionnés ne sont pas suivis et ne sont pas affichés sur "git status". Mais quand « tirer » d'origine à distance (ou faire explicitement fusion après extraction) Je reçois

error: Your local changes to the following files would be overwritten by merge:  
    .gitignore 
    app/core/config.js 

Please, commit your changes or stash them before you can merge. 
Aborting 

En raison du fait ma zone de mise en scène est vide, il n'y a rien à commettre ou planque. Quelle est la bonne configuration pour le cas où j'ai des fichiers à ne pas fusionner?

+1

Certains fichiers existent-ils déjà dans le référentiel distant? Git ne vous avertit généralement que si cela écrase vraiment certains fichiers. – kowsky

+0

Oui, il y a un grand projet avec un long historique de commit. –

Répondre

0

Le problème est votre fichier local .gitignore: vous avez un fichier local, mais il y en a également un dans le référentiel distant. Lors de la fusion, votre .gitignore local serait écrasé. Comme il existe un fichier .gitignore, il vous suffit d'ajouter le contenu de votre fichier local .gitignore à celui du référentiel distant.

Aussi, depuis app/core/config.js est également mentionné ici, je soupçonne qu'il n'est pas répertorié dans votre .gitignore bien qu'il devrait être.

+0

Oui, les entrées .gitignore et app/core/config.js sont déjà dans .gitignore. –

+0

Mais comme je l'ai déjà réalisé .gitignore n'a aucun pouvoir après le clonage, donc peut-être il y a une possibilité de le créer avant le clonage. Besoin d'essayer avant de conclure. D'ailleurs je ne changerais pas le fichier .gitignore à distance. –

+0

Vous devriez jeter un oeil à [cette réponse] (https://stackoverflow.com/a/767213/7598462) qui suggère l'utilisation de '.git/info/exclude' pour ignorer les fichiers localement. Le fichier '.gitignore' est destiné à être partagé à travers le dépôt. – kowsky