Faits :
A.
A._, ressortissant français né en 1990, est prévenu depuis le 5 septembre 2014 de dommages à la propriété, violation de domicile et vols en bande et par métier, portant sur une trentaine de motocycles. Il a été mis en détention provisoire du 7 septembre 2014 au 3 octobre 2014. Par ordonnance du 6 octobre 2014, le Tribunal des mesures de contrainte du canton de Genève (Tmc) a ratifié la libération sous condition prononcée par le Ministère public, moyennant les obligations suivantes:
- domicile fixe et permanent chez la grand-mère du prévenu à Divonne-les-Bains;
- travail régulier auprès de son employeur à Gland, avec justificatifs;
- interdiction de tous contacts avec d'autres prévenus ou suspects;
- obligation de déférer à toute convocation.
Le Tmc a précisé que ces mesures de substitution demeuraient valables "jusqu'à droit jugé".
B.
Par arrêt du 22 décembre 2014, la Chambre pénale de recours de la Cour de justice du canton de Genève a rejeté le recours formé par le prévenu. Celui-ci ne contestait pas les mesures de substitution, mais demandait leur limitation à trois mois comme en matière de détention provisoire. La cour cantonale a estimé que la durée de la détention provisoire subie, combinée avec celle des mesures de substitution, n'était pas disproportionnée. La mise en accusation paraissait encore éloignée, mais les mesures de substitution pouvaient être revues en tout temps, y compris à l'initiative du prévenu. La protection juridique était ainsi suffisante et les mesures de substitution portaient une atteinte moins grave que la détention, de sorte qu'il n'y avait pas lieu d'instituer un contrôle périodique.
C.
Par acte du 22 janvier 2015, A._ forme un recours en matière pénale avec une demande d'assistance judiciaire. Il conclut à ce que l'ordonnance du Tmc soit complétée en ce sens que les mesures de substitution sont limitées à trois mois au maximum. Subsidiairement, il demande le renvoi de la cause à l'autorité précédente pour nouvelle décision au sens des considérants.
La Chambre pénale se réfère à son arrêt, sans observations. Le Ministère public conclut au rejet du recours en se référant aux observations déposées devant l'instance précédente.
Le recourant a renoncé à présenter des observations complémentaires et persiste dans ses conclusions.

Considérant en droit :
1.
Le recours en matière pénale (<ref-law>) est ouvert contre une décision relative à la détention provisoire au sens des <ref-law> (<ref-ruling> consid. 1 p. 23). Selon l'art. 81 al. 1 let. a et b ch. 1 LTF, le prévenu a qualité pour faire valoir que les mesures de substitution qui lui ont été imposées devraient être prononcées pour une durée limitée. Le recours a été formé en temps utile (<ref-law>) contre une décision rendue en dernière instance cantonale (<ref-law>) et les conclusions présentées sont recevables au regard de l'<ref-law>. Il y a donc lieu d'entrer en matière.
2.
Invoquant son droit d'être entendu, le recourant reproche à la cour cantonale de ne pas avoir examiné les griefs selon lesquels les mesures de substitution devraient être soumises à un contrôle périodique.
2.1. La jurisprudence déduit du droit d'être entendu (art. 29 al. 2 Cst., art. 3 al. 2 let. c CPP) l'obligation pour le juge de motiver ses décisions afin que le justiciable puisse les comprendre et exercer ses droits de recours à bon escient. Le juge doit ainsi mentionner, au moins brièvement, les motifs qui l'ont guidé et sur lesquels il a fondé sa décision, de manière à ce que l'intéressé puisse se rendre compte de la portée de celle-ci et l'attaquer en connaissance de cause. Il n'a toutefois pas l'obligation d'exposer et de discuter tous les faits, moyens de preuve et griefs invoqués par les parties, mais peut au contraire se limiter à l'examen des questions décisives pour l'issue du litige (<ref-ruling> consid. 2.2 p. 182; <ref-ruling> consid. 4.1 p. 88 et les arrêts cités).
2.2. Pour l'essentiel, la cour cantonale a examiné si, par leur durée, la détention provisoire subie et les mesures de substitution pouvaient se rapprocher de la peine encourue. L'arrêt attaqué retient toutefois également que l'<ref-law> ne limite pas la durée des mesures de substitution, que celles-ci portent une atteinte moins grave aux droits fondamentaux que la détention avant jugement et que la protection juridique du prévenu apparaît suffisante. Sous l'angle du droit d'être entendu, cela peut constituer une réponse suffisante aux objections du recourant.
Le grief d'ordre formel doit ainsi être écarté.
3.
Sur le fond, le recourant persiste à considérer que les <ref-law> et 227 al. 7 CPP imposeraient, comme pour la détention provisoire, un contrôle périodique des mesures de substitution. On ne pourrait dès lors les ordonner pour une période indéterminée et les maintenir, comme l'a fait le Tmc, "jusqu'à droit jugé", même si le prévenu peut en tout temps contester les mesures de substitution. Le recourant relève que ces mesures (obligation de domicile, de travail et de production d'attestations, interdiction de relations avec certaines personnes), constituent une atteinte à la liberté de mouvement et à sa sphère privée.
3.1. Concrétisant le principe de la proportionnalité, l'<ref-law> prévoit que le tribunal compétent ordonne une ou plusieurs mesures moins sévères en lieu et place de la détention provisoire ou de la détention pour des motifs de sûreté si ces mesures permettent d'atteindre le même but que la détention. Selon l'alinéa 2 de cette disposition, font notamment partie des mesures de substitution: la fourniture de sûretés (let. a), la saisie des documents d'identité et autres documents officiels (let. b), l'assignation à résidence ou l'interdiction de se rendre dans un certain lieu ou un certain immeuble (let. c), l'obligation de se présenter régulièrement à un service administratif (let. d), l'obligation d'avoir un travail régulier (let. e), l'obligation de se soumettre à un traitement médical ou à des contrôles (let. f) et l'interdiction d'entretenir des relations avec certaines personnes (let. g). Pour surveiller l'exécution de ces mesures, le tribunal peut ordonner l'utilisation d'appareils techniques qui peuvent être fixés à la personne sous surveillance (al. 3).
3.2. Selon l'<ref-law>, les dispositions sur la détention provisoire et la détention pour des motifs de sûreté s'appliquent par analogie au prononcé des mesures de substitution ainsi qu'au recours contre elles.
Selon l'<ref-law>, la détention provisoire peut être prolongée plusieurs fois, chaque fois de trois mois au plus et, dans des cas exceptionnels, de six mois au plus. Ce contrôle périodique doit permettre de vérifier que les motifs de détention existent toujours et que les principes de célérité et de proportionnalité sont encore respectés (<ref-ruling> consid. 3.5 p. 186). Ce contrôle périodique s'impose durant l'instruction et la procédure de première instance, et jusqu'à la saisine de la juridiction d'appel (<ref-ruling>).
3.3. Le renvoi général de l'<ref-law> aux règles matérielles et formelles concernant la détention se justifie par le fait que les mesures de substitution sont ordonnées aux mêmes conditions que la détention provisoire, soit en présence de soupçons suffisants ainsi que de risques de fuite, de collusion ou de réitération (<ref-law>), conditions qui doivent en elles-mêmes faire l'objet d'une réévaluation périodique. En outre, contrairement à ce que soutient la cour cantonale, les mesures de substitution ne sauraient sans autre être considérées comme des atteintes bénignes aux droits fondamentaux du prévenu: l'assignation à résidence constitue une certaine forme de détention, et l'obligation de travailler, de se soumettre à un traitement médical, voire un placement en institution (arrêt 1B_654/2011 du 7 décembre 2011) représentent des atteintes considérables à la liberté personnelle. A l'instar de la détention provisoire ou pour des motifs de sûreté, les mesures de substitution doivent en tout temps demeurer proportionnées au but poursuivi, tant par leur nature que par leur durée (<ref-ruling> consid. 2.2 p. 78).
L'ensemble des raisons qui ont conduit à l'instauration d'un contrôle périodique de la détention provisoire doit dès lors aussi s'appliquer, en principe, à l'égard des mesures de substitution, y compris celles qui ne sont pas expressément mentionnées à l'<ref-law>. Il peut être fait exception pour les mesures les plus légères qui consistent dans l'accomplissement d'un acte ponctuel. Ainsi, le versement de sûretés fait l'objet de dispositions spécifiques: l'<ref-law> précise les circonstances, les conditions et les modalités de la libération des sûretés, le législateur étant parti du principe que celles-ci doivent être maintenues jusqu'à l'issue de la procédure (cf. <ref-law>). Un engagement solennel de se présenter aux actes de procédure n'a pas non plus à être confirmé ou renouvelé périodiquement. Il en va de même du dépôt des papiers d'identité, qui permet au prévenu de conserver l'essentiel de sa liberté de mouvement. Pour ce type de mesures de substitution, la possibilité de demander en tout temps une levée constitue une garantie de procédure suffisante.
En revanche, les autres mesures prévues à l'art. 237 al. 2 let. c à g CPP doivent être prononcées pour une durée déterminée. L'ordonnance du Tmc doit dès lors être réformée dans ce sens.
Selon l'<ref-law>, la prolongation peut être de trois mois au plus, et de six mois dans des cas exceptionnels. En l'occurrence, le recourant se voit imposer des mesures manifestement moins lourdes qu'une détention provisoire, et dont il ne conteste d'ailleurs pas le bien-fondé. Compte tenu de ces circonstances particulières, il se justifie de réformer l'ordonnance du Tmc et de fixer la durée des mesures de substitution à six mois, ce qui correspond au maximum prévu par la loi, étant précisé que le recourant pourra en tout temps saisir l'autorité d'une demande de révocation ou de modification des mesures de substitution (art. 237 al. 5 et 228 CPP, par renvoi de l'<ref-law>).
4.
Le recours doit dès lors être admis pour les motifs qui précèdent. L'arrêt du 22 décembre 2014 est annulé et l'ordonnance du Tmc du 6 octobre 2014 est réformée en ce sens que les mesures de substitution sont ordonnées pour une durée de six mois. Conformément à l'<ref-law>, une indemnité de dépens est allouée au recourant, à la charge du canton de Genève. Cela rend sans objet la demande d'assistance judiciaire. Conformément à l'<ref-law>, il n'est pas perçu de frais judiciaires. La cause doit par ailleurs être renvoyée à la cour cantonale pour nouvelle décision sur les frais et dépens des instances cantonales.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis; l'arrêt du 22 décembre 2014 est annulé et l'ordonnance du Tribunal des mesures de contrainte du canton de Genève du 6 octobre 2014 est réformée en ce sens que les mesures de substitution sont ordonnées pour une durée de six mois. La cause est renvoyée à la cour cantonale pour nouvelle décision sur les frais et dépens des instances cantonales.
2.
Une indemnité de dépens de 2'000 fr. est allouée au mandataire du recourant, à la charge du canton de Genève. La demande d'assistance judiciaire est sans objet.
3.
Il n'est pas perçu de frais judiciaires.
4.
Le présent arrêt est communiqué au mandataire du recourant, au Ministère public, au Tribunal des mesures de contrainte et à la Cour de justice de la République et canton de Genève, Chambre pénale de recours.
Lausanne, le 16 février 2015
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Fonjallaz
Le Greffier : Kurz