Faits: A. Ressortissant algérien né en 1982, X._ est arrivé en Suisse le 1er septembre 2001 et y a demandé l'asile sous une fausse identité - à savoir A._, alias B._, alias C._, Algérien né en 1984. Par une décision du 12 avril 2002, entrée en force le 17 mai 2002, l'autorité compétente a rejeté la requête et prononcé le renvoi de l'intéressé. B. X._ a été condamné à différentes reprises, généralement sous une fausse identité. Les sanctions suivantes ont été prononcées à son encontre: - le 28 février 2002, deux mois d'emprisonnement avec sursis durant trois ans pour infraction à l'art. 19 al. 1 de la loi fédérale du 3 octobre 1951 sur les stupéfiants et les substances psychotropes (LStup; RS 812.121), - le 28 mars 2002, soixante jours d'emprisonnement ferme pour infraction à la LStup et opposition aux actes de l'autorité, - le 21 mai 2002, 60 fr. d'amende pour avoir voyagé sans titre de transport valable, - le 6 août 2002, quinze jours d'emprisonnement ferme pour infraction à la loi fédérale du 26 mars 1931 sur le séjour et l'établissement des étrangers (LSEE; RS 1 113; en vigueur jusqu'au 31 décembre 2007), - le 29 août 2002, vingt jours d'emprisonnement ferme pour infraction à la LSEE et à la loi fédérale du 19 décembre 1958 sur la circulation routière (LCR; RS 741.01), - le 21 octobre 2002, quarante-cinq jours d'emprisonnement ferme pour infraction à l'art. 19 al. 1 LStup, le sursis prononcé le 28 février 2002 étant révoqué, - le 9 juillet 2004, dix-neuf jours d'arrêts, en lieu et place de trois amendes prononcées au cours du mois de mai 2003, - le 18 juillet 2005, six mois d'emprisonnement, accompagnés d'une mesure d'expulsion de Suisse durant cinq ans, pour vol, vol d'importance mineure, dommages à la propriété, recel et contravention à la LStup, sanction ramenée, le 27 juillet 2006, à trois mois d'emprisonnement (l'intéressé ayant été libéré du chef d'accusation de dommages à la propriété), la mesure d'expulsion de Suisse étant assortie d'un sursis de cinq ans, - le 25 novembre 2005, onze jours d'arrêts en remplacement de deux amendes infligées en mars et en août 2003, - le 9 mars 2006, dix jours d'emprisonnement pour recel, peine complémentaire à la peine prononcée le 18 juillet 2005, - le 15 décembre 2006, dix jours d'emprisonnement pour infraction à la LSEE et contravention à la LStup, - le 18 septembre 2007, vingt jours d'emprisonnement ferme pour vol et infraction à la LSEE. En outre, en mars et en octobre 2002, X._ s'est vu interdire l'entrée du territoire genevois pendant six mois, pour infraction à l'art. 19 LStup. De même, en raison de ses activités dans le milieu de la drogue, il s'est vu interdire, le 5 novembre 2004, l'accès au territoire de la commune de Lausanne, mesure qui a été levée le 5 janvier 2007. Par ailleurs, la Commission de libération du canton de Genève, qui avait ordonné l'élargissement conditionnel de X._ quant à l'exécution des peines prononcées les 28 février et 21 octobre 2002, a révoqué sa décision et infligé à l'intéressé une peine de quatorze jours d'emprisonnement. C. Le 6 octobre 2005, X._ a eu un fils, D._, avec E._, une Suissesse née en 1979, qui avait déjà une fille F._, née en 1999 d'une autre union. Le 31 janvier 2007, X._ a rempli un formulaire d'arrivée auprès du Bureau des étrangers de la ville de Lausanne, en vue d'un regroupement familial. Le 1er février 2008, il a épousé E._. Le 10 novembre 2008, le Service de la population du canton de Vaud a informé l'intéressé qu'il donnait un préavis favorable à sa demande d'autorisation de séjour, sous réserve de l'approbation de l'Office fédéral des migrations (ci-après: l'Office fédéral), en raison de la nationalité suisse de sa femme et de son fils ainsi que de son intention d'exercer une activité lucrative. D. Le 6 mai 2009, l'Office fédéral a refusé d'approuver l'octroi d'une autorisation de séjour à X._ et prononcé le renvoi de Suisse de l'intéressé. Il a considéré que celui-ci réalisait un motif d'expulsion au sens de l'art. 10 LSEE, au vu des infractions qu'il avait commises depuis qu'il était arrivé dans ce pays. Il a considéré qu'en l'espèce, la sauvegarde de la sécurité et de l'ordre publics suisses était prépondérante. Par jugement du 30 septembre 2009, le Tribunal de police de l'arrondissement de Lausanne a condamné X._ à une peine privative de liberté d'un mois, pour voies de fait, menaces et infractions contre "le personnel de service", soit contre des agents des Transports publics de la région lausannoise SA. E. Par arrêt du 28 avril 2010, le Tribunal administratif fédéral a rejeté le recours de X._ contre la décision de l'Office fédéral du 6 mai 2009. Il a considéré qu'il existait un intérêt public évident à éloigner l'intéressé de Suisse, compte tenu de ses antécédents pénaux, et a confirmé la décision de l'Office fédéral après avoir procédé à une pesée des intérêts en présence. F. Le 7 juin 2010, X._ a formé un recours en matière de droit public à l'encontre de l'arrêt du Tribunal administratif fédéral du 28 avril 2010. Il demande au Tribunal fédéral, sous suite de frais et dépens, de dire qu'il a droit à une autorisation de séjour en Suisse au titre du regroupement familial et d'approuver l'octroi par l'autorité cantonale vaudoise d'une autorisation de séjour en sa faveur. Le recourant se plaint essentiellement de constatation inexacte ou incomplète des faits ainsi que de violations du droit à la vie familiale et du principe de la proportionnalité. Il requiert l'assistance judiciaire. Le Tribunal administratif fédéral a renoncé à prendre position sur le recours. L'Office fédéral conclut au rejet du recours dans la mesure où il est recevable. G. Par ordonnance du 16 juin 2010, le Président de la IIe Cour de droit public a admis la demande d'effet suspensif présentée par le recourant.