À l'aide de la commande git pull pour suivre une branche distante sans fusion

Je suis en utilisant git contenu de la piste qui est changé par certaines personnes et partagé en "lecture seule" avec les autres. Les "lecteurs" peut de temps à autre besoin de faire un changement, mais la plupart du temps ils ne le seront pas.

Je veux permettre à la git "écrivains" rebase poussé des branches** en cas de besoin, et s'assurer que les "lecteurs" jamais accidentellement une fusion. C'est normalement assez facile.

git pull origin +master

Il y a un cas qui semble causer des problèmes. Si un lecteur fait un changement local, la commande ci-dessus va de fusion. Je veux tirer à être entièrement automatique si le lecteur n'a pas fait des changements locaux, tandis que si elles ont fait des changements locaux, elle doit s'arrêter et de demander des commentaires. Je veux de suivre tous les changements en amont, tout en étant prudent au sujet de la fusion en aval des changements.

Dans un sens, je n'ai pas vraiment envie de tirer. Je souhaite suivre la branche master exactement.


** (Je sais que ce n'est pas une bonne pratique, mais il semble nécessaire dans notre cas: nous avons une branche principale qui contient la plupart du travail et un certain sujet branches pour certains clients avec des modifications mineures qui doivent être isolées. Il semble plus facile d'fréquemment rebase pour garder les thèmes jusqu'à la date.)

Ce qui permettrait à l'utilisateur de faire avec leurs modifications? S'engager à une branche locale?
Avec Git 2.0, vous pouvez essayer de (bientôt) git config push.ff only. Voir ma réponse ci-dessous

OriginalL'auteur | 2010-06-16