Beaucoup de gens vous conseillent d'utiliser git update-index --assume-unchanged
. En effet, cela peut être une bonne solution, mais seulement à court terme.
Ce que vous voulez sans doute faire est la suivante: git update-index --skip-worktree
.
(La troisième option, que vous ne voulez probablement pas, est:. git rm --cached
Elle conservera votre fichier local, mais sera marquée comme supprimée du référentiel distant.)
Différence entre les deux premières options?
assume-unchanged
est de vous permettre temporairement de masquer les modifications d'un fichier. Si vous souhaitez masquer les modifications apportées à un fichier, modifiez le fichier, puis extrayez une autre branche, vous devrez utiliser no-assume-unchanged
puis probablement cacher les modifications effectuées.
skip-worktree
vous suivra quelle que soit la succursale que vous passez à la caisse, avec vos modifications!
Cas d'utilisation de assume-unchanged
Il suppose que ce fichier ne doit pas être modifié et vous donne une sortie plus propre lorsque vous le faites git status
. Mais lorsque vous passez à une autre branche, vous devez réinitialiser l'indicateur et valider ou masquer les modifications avant. Si vous tirez avec cette option activée, vous devrez résoudre les conflits et git ne fusionnera pas automatiquement. En fait, il ne masque que les modifications ( git status
ne vous montrera pas les fichiers marqués).
J'aime l'utiliser quand je veux seulement arrêter le suivi des modifications pendant un certain temps + valider un tas de fichiers ( git commit -a
) liés à la même modification.
Cas d'utilisation de skip-worktree
Vous avez une classe de configuration contenant des paramètres (par exemple, y compris les mots de passe) que vos amis doivent modifier en fonction de leur configuration.
- 1: Créez une première version de cette classe, remplissez les champs que vous pouvez remplir et laissez les autres vides / nuls.
- 2: Validez et envoyez-le sur le serveur distant.
- 3:
git update-index --skip-worktree MySetupClass.java
- 4: Mettez à jour votre classe de configuration avec vos propres paramètres.
- 5: Retournez travailler sur une autre fonctionnalité.
Les modifications que vous effectuez vous suivront quelle que soit la branche. Attention: si vos amis veulent également modifier cette classe, ils doivent avoir la même configuration, sinon leurs modifications seraient poussées vers le référentiel distant. Lors de l'extraction, la version distante du fichier doit remplacer la vôtre.
PS: faites l'un ou l'autre, mais pas les deux car vous aurez des effets secondaires indésirables. Si vous souhaitez essayer un autre indicateur, vous devez d'abord désactiver ce dernier.
.csproj
fichier, qui est très important pour tout projet. Modifications du.csproj.user
fichier ou de tout autre.Publish.XML
fichier que je ne comprends absolument pas, mais je suis intrigué de savoir pourquoi vous ne voudriez pas suivre le.csproj
...