J'ai des fichiers suivis dans un référentiel qui sont automatiquement modifiés lors de la construction du code. Je ne veux pas les annuler, je ne veux simplement pas qu'ils apparaissent comme modifiés et je ne veux pas qu'ils soient mis en scène lorsque je git ajouter.
Est-ce possible?
Réponses:
Sûr.
Pour annuler et recommencer le suivi:
la source
Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.
--assume-unchanged
lors du clonage? Pour que tous les utilisateurs aient les fichiers, mais ne voient pas les modifications locales dans les diffs.git update-index --no-assume-unchanged $(git ls-files $(git rev-parse --show-toplevel))
définie comme un alias git. Chaque fois que je soupçonne que c'est certaines de ces manigances, je le fais.Une autre approche (à partir d'une réponse maintenant supprimée par Seth Robertson, mais je l'ai trouvé utile pour le ressusciter) est de maintenir un fichier modèle "suivi", puis d'en avoir une version locale non suivie, ex: "config.sample.ini" ou " config.ini.template "voir https://gist.github.com/canton7/1423106 pour un exemple complet.
Ensuite, il n'y aura aucun problème si le fichier est modifié dans git, etc. et vous pouvez utiliser .gitignore (enfin) sur les fichiers locaux non suivis.
la source
Une autre solution utilisant les attributs git et% f dans la commande de filtre:
la source