2016-08-17 3 views
1
Scenario: 
Bitbucket: 
    file1 
    file2 
    file3 

Local: 
    file1 - person1 is working on it 
    file2 - person2 is working on it 
    file3 - common with personal hardcoded configuration 
    untracked files 

personne1 valide et appuie ses modifications sur le fichier1. Comment person2 peut-il mettre à jour file1 dans son local sans réinitialiser les fichiers file2, file3 et les fichiers non suivis? Cela fait un moment que j'essaie de le faire mais je ne trouve toujours pas de moyen facile! Merci.Git mise à jour locale ignorant quelques fichiers (n'est pas .gitignore)

+0

Lorsque vous poussez un nouveau changement sur le serveur, seulement pousser le fichier1 au lieu de tout le tas de fichiers. Comment pousses-tu les fichiers à git? – gurmandeep

Répondre

1

Les fichiers non suivis ne seront pas mis à jour lorsque vous récupérerez de nouvelles validations à partir du référentiel distant. En ce qui concerne file2 et file3 (que je suppose sont suivi), vous devez définir le drapeau skip-worktree sur ceux-ci. De cette façon, Git ne les mettra pas à jour dans votre répertoire de travail.

De l'documentation:

- [no-] aller-worktree
Lorsque l'un de ces drapeaux est spécifié, le nom d'objet enregistré pour les chemins ne sont pas mis à jour.

Plus specifically:

Lors de la lecture d'une entrée, si elle est marquée comme skip-worktree, puis Git feint sa version du répertoire de travail est à jour et lire la version index à la place.

Vous pouvez définir le drapeau skip-worktree sur un fichier spécifique avec la commande :

git update-index --skip-worktree path/to/file2 

Si vous voulez plus tard désinitialiser le drapeau, utilisez l'option --no-skip-worktree à la place:

git update-index --no-skip-worktree path/to/file2 
+1

Merci, j'ai trouvé cette commande utile pour lister tous les fichiers ignorés "git ls-files -v. | Grep^S". – faber

+0

Une autre chose, qu'est-ce que vous utilisez après cela? chercher et réinitialiser? – faber

+0

Vous voulez dire après avoir désactivé le drapeau 'skip-worktree'? –