577 votes

git : comment mettre à jour le maître (checkout) un seul fichier d’origine à distance

Le scénario:

  1. - Je faire des modifications dans un seul fichier localement et lancez la commande git add, git commit git push
  2. Le fichier est poussé à la télécommande d'origine référentiel maître
  3. J'ai un autre référentiel local qui est déployé via capistrano avec le "remote_cache" méthode à partir de ce dépôt distant
  4. Maintenant, je ne veux pas de déployer l'ensemble de l'application, mais de simplement mettre à jour/caisse unique fichier.

S'il vous plaît, est-ce possible en quelque sorte avec git? Je n'étais pas en mesure de trouver quelque chose qui fonctionne, ni étais-je en mesure de le comprendre. Avec svn j'ai juste fait svn de fichiers et d'alto.

Je serai heureux pour toute aide, merci!

1251voto

qzio Points 1196

Il est possible de le faire (dans le déploiement du référentiel)

git fetch

suivie par

git checkout origin/master -- path/to/file

git fetch télécharger toutes les dernières modifications, mais il ne sera pas mis dans votre extrait de code (zone de travail).

git checkout origin/master -- chemin/vers/fichier extraire le fichier particulier à partir de la, le téléchargement des changements (origin/master).

Au moins cela fonctionne pour moi, pour ceux peu petites corrections de typo, où il se sent bizarre, pour créer une branche etc juste pour changer un mot dans un fichier.

10voto

jag Points 373

Ce que vous pouvez faire est :

  1. Mettez à jour votre repo git local :

``

  1. Construire une antenne locale et checkout là-dessus :

``

  1. Appliquer la validation souhaitée sur cette branche :

``

(abcdefabcdef est le sha1 du commit à appliquer)

2voto

jahrichie Points 523

Ou git stash (si vous avez des modifications) sur la branche vous êtes sur, le maître de la caisse, le pull pour les derniers changements, prenez ce fichier sur votre bureau (ou l’application entière). Commander la branche que vous étiez. Git stash s’appliquent à l’état vous couraient, puis fixez les changements manuellement ou faites-la remplacer le fichier.

De cette façon n’est pas trop cool mais il def fonctionne si vous les gars ne peut pas comprendre quoi que ce soit d’autre là-bas.

0voto

Phil R Points 88

Je suis juste tombé sur cela ne sais pas si c’est juste ce que le médecin a ordonné... http://capitate.RubyForge.org/Recipes/Deploy.html#Deploy:upload

-2voto

Curtis Points 2157

Vous pouvez utiliser `` sur un seul fichier, si je me souviens bien. Voici un post avec un peu plus de détails : http://norbauer.com/notebooks/code/notes/git-revert-reset-a-single-file

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X