Question

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 que je ne veux pas pousser. git rm ... est pas une option parce que les fichiers doivent être dans la version controll (avec d'autres paramètres dans les fichiers). Je veux juste ne pas de pousser mes modifications sur ces fichiers.

Était-ce utile?

La solution

Ignorer les fichiers git ne signifie pas que vous ne serez pas pousser eux. Cela signifie que vous ne serez pas contrôle de version les. Si vous ne voulez pas pousser, je vous suggère de créer une branche locale qui contiendra des choses pour la machine locale puis fusionner les modifications nécessaires à une branche qui vous pousser à distance.

Je pense que vous avez déjà added vos fichiers et essayez maintenant de les ignorer.

Autres conseils

i eu même problème: je voulais autre fichier .htaccess par dépôt alors je ne pouvais pas parce que le fichier htaccess avait déjà été ajouté au référentiel. Il travaille maintenant, je peux changer tout du fichier .htaccess partir d'une version sans obtenir git les pousser. Marc a raison quand il dit: « Vous devez d'abord le supprimer, avant qu'il ne peut être ignoré. Cela peut être fait en utilisant rm git ».

i a procédé dans cet ordre:

  • sauvegarde de votre part de fichier .htaccess
  • supprimer le fichier .htaccess en utilisant git rm .htaccess
  • commit ce changement (suppression .htaccess)
  • pousser (push git)

cela supprimera évidemment votre fichier .htaccess

  • puis modifier .gitignore et ajouter /.htaccess
  • commit ensuite pousser
  • recréer votre fichier .htaccess par la restauration de votre sauvegarde précédente

vous avez terminé: tout ce que vous faites dans les modifications .htaccess ne sera pas poussé plus. La partie difficile est l'ordre suivant étapes ...

espère que cela est clair

les étapes de anybug noté ma piste git gardé encore de .htaccess et cela a contribué à:

git update-index --assume-unchanged .htaccess

Pour revenir:

git update-index --no-assume-unchanged .htaccess

Puisque vous voulez:

  • keep .htaccess dans le dépôt Git (pas git rm)
  • Vous locale données sensibles dans ce

utiliser un pilote filtre qui:

  • pendant la phase de paiement, remplissez le .htaccess avec des données privées
  • commit pendant la phase de nettoyage du .htaccess de toutes les données sensibles

pilote de filtre contenu

vous pouvez alors la version d'un fichier crypté que votre script sera bavure:

  • être le seul à Décrypter
  • utiliser afin de compléter le fichier .htaccess classique (et poussé / tiré).

Vous pouvez la version que les données sensibles cryptées dans une branche spéciale vous ne poussera pas.
Même si vous avez fait pousser ce fichier en quelque sorte, les dommages seraient limités, puisque seulement votre poste de travail a la clé privée nécessaire pour décrypter ledit fichier.

Supposons que le ci-dessous est le contenu du fichier .gitignore. Ici, .htaccess est dans le répertoire racine du projet.

/.htaccess
application/config/config.php
application/config/database.php

Lançons la commande ci-dessous pour ignorer les fichiers .htaccess, config.php et database.php.

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

par exemple.

badelal143@gmail.com:work-dir$ git update-index --no-assume-unchanged .htaccess

Il semble que le fichier .htaccess a déjà été ajouté au contrôle de version. Vous devez d'abord le supprimer, avant qu'il ne puisse être ignoré. Cela peut être fait en utilisant git rm

Je le fais tout le temps. Je commence par les fichiers de configuration dans mon repo puis décide que je ne veux pas les là-dedans.

Vous pouvez supprimer quelque chose de votre repo en utilisant

git rm --cached <<filename>>

Celui-ci m'a mis sur écoute pendant des jours. Le fichier .htaccess est déjà sous le contrôle de version et a été modifiée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top