.gitignore n'ignore pas les fichiers
Mon .gitignore fichier est ignoré et les fichiers qui doivent être ignorés sont encore visibles.
user@host ~/workdir % git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: .htaccess
# modified: application/controllers/statistics.php
#
no changes added to commit (use "git add" and/or "git commit -a")
user@host ~/workdir % cat .gitignore
.htaccess
application/config/config.php
application/config/database.php
user@host ~/workdir %
les fichiers sont dans le contrôle de version, mais avec des changements sensibles Je ne veux pas pousser. git rm ... n'est pas une option car les fichiers doivent être en version controll (avec d'autres paramètres dans les fichiers). Je ne veux pas pousser mes changements sur ces fichiers.
8 réponses
Ignorer les fichiers dans git ne veut pas dire que vous n'aurez pas appuyer sur. Cela signifie que vous ne serez pas contrôle de version. Si vous ne voulez pas pousser alors, je vous suggère de créer une branche locale qui contiendra des trucs pour la machine locale et ensuite fusionner les changements nécessaires à une branche que vous pousserez à distance.
je pense que vous avez déjà add
ed vos fichiers et essaient maintenant de les ignorer.
j'ai eu le même problème: je voulais différent .fichier htaccess par dépôt alors je ne pouvais pas parce que le fichier htaccess avait déjà été ajouté au dépôt. Ça marche maintenant, je peux changer n'importe lequel .htaccess file à partir de n'importe quelle version sans que git les pousse. Marc a raison quand il dit "vous devez d'abord l'enlever, avant qu'il puisse être ignoré. Cela peut être fait en utilisant git rm".
j'ai procédé dans cet ordre:
- sauvegarde de vos .fichier htaccess quelque part
- supprimer .fichier htaccess utilisant git rm .htaccess
- valider ce changement (.htaccess suppression)
- push (git push)
ce sera bien évidemment retirer votre .fichier htaccess
- puis sur modifier .gitignore et ajouter /.htaccess
- valider puis poussez
- recréer votre .htaccess fichier en rétablissant votre sauvegarde précédente
alors vous êtes fait: quels que soient les changements que vous faites .htaccess ne sera pas poussé plus. Le plus dur, c'est de suivre l'ordre des étapes...
j'espère que cela est clair
après anybug les étapes de noter ici mon git toujours gardé la trace de .htaccess et cela m'a aidé:
git update-index --assume-unchanged .htaccess
Pour revenir en arrière:
git update-index --no-assume-unchanged .htaccess
Puisque vous voulez:
.htaccess
dans le repo Git (pas degit rm
)- données sensibles dans les
un pilote de filtre:
- pendant la phase de départ, complétez le
.htaccess
avec les données privées - pendant la phase de propagation nettoyer le
.htaccess
à partir de toutes les données sensibles
vous pouvez ensuite une version fichier crypté que votre bavure script:
- être le seul à déchiffrer
- utilisation pour terminer le classique (et poussé/tiré) .fichier htaccess.
vous pouvez modifier ces données sensibles cryptées dans une branche spéciale que vous ne pousserez pas.
Même si vous poussez ce fichier d'une manière ou d'une autre, les dommages seront limités, puisque seule votre station de travail possède la clé privée nécessaire pour décrypter ledit fichier.
Supposons que vous trouverez ci-dessous le contenu de .gitignore
fichier. Ici,.htaccess
est dans le répertoire racine du projet.
/.htaccess
application/config/config.php
application/config/database.php
exécutons la commande ci-dessous pour ignorer le .htaccess
,config.php
et database.php
fichiers.
badelal143@gmail.com:work-dir$ git update-index --assume-unchanged .htaccess
badelal143@gmail.com:work-dir$ git update-index --assume-unchanged application/config/config.php
badelal143@gmail.com:work-dir$ git update-index --assume-unchanged application/config/database.php
Si vous voulez commencer le suivi de nouveau:
badelal143@gmail.com:work-dir$ git update-index --no-assume-unchanged path/to/file
e.g.
badelal143@gmail.com:work-dir$ git update-index --no-assume-unchanged .htaccess
je fais ça tout le temps. Je commence avec les fichiers de configuration dans mon repo puis décide que je ne les veux pas là-bas.
Vous pouvez supprimer quelque chose de votre repo en utilisant
git rm --cached <<filename>>
celui-ci m'énerve pour jours. .htaccess
le fichier est déjà sous le contrôle de la version et a été modifié.