je voulais exclure un fichier appelé config/dbconfig.js dans ma branche publique que j'utilise pour pousser à github, mais encore capable de pousser de maître à mon repo git noester.com à pousser à la production. J'ai changé le fichier de configuration à ceci:Git Config excludesfile pour juste une branche
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
excludesfile = +info/exclude
[remote "nodester"]
url = *** My Git Repo ***
fetch = +refs/heads/*:refs/remotes/nodester/*
[branch "public"]
excludesfile = +info/exclude_public
Je me suis assuré de supprimer le fichier .gitignore et je suis en utilisant le .git/info/exclure fichier pour les généraux et les exclut espérais utiliser le .git/info/exclude_public pour exclure ce fichier alors quand je fusionne au public ce fichier ne fusionne pas aussi bien que ne pousse pas vers github.
Si je fais ce qui suit, il sera toujours ajouter le fichier à git même dans la branche publique. Donc, je pense que j'ai la syntaxe erronée ou ce n'est pas possible.
$ git checkout public
$ git add .
$ git status
# On branch public
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: config/dbconfig.json
#
Si cela est impossible est-il une meilleure façon de traiter avec la base de données configs vous ne voulez pas sortir sur un projet Github ouvert sans exécuter deux référentiels git et fusionner manuellement entre eux?
Ok je pense que je l'ai donc quelque chose comme ça dans les .gitattributes? config/dbconfig.json fusion = nous – JTWebMan
@JTWebMan: un pilote de fusion peut fonctionne aussi, mais mon point avec un pilote de filtre est d'utiliser des valeurs provenant de l'extérieur du repo. – VonC
Alors sur ma machine? Je pense que je reçois ce que votre disent quand je commets des changements, il se penchera sur quelle branche et remplacer les valeurs d'un fichier que j'ai localement qui ne sont pas dans la prise en pension. Cela fonctionnera-t-il aussi pour les fusions? – JTWebMan