Faits : A. A.a. Ressortissant congolais né en 1994, A.A._ - alias A.B._, né en 1994 - a déposé une demande d'asile en Suisse le 10 avril 2019 à l'Aéroport international de Genève. Par décision incidente du 11 avril 2019, le Secrétariat d'Etat aux migrations (ci-après : le SEM) a provisoirement refusé l'entrée en Suisse à l'intéressé, lui assignant, pour une durée maximale de 60 jours, la zone de transit dudit aéroport comme lieu de séjour. Cette décision a été confirmée par arrêt du Tribunal administratif fédéral du 29 mai 2019. A.b. Par ordonnance pénale du Ministère public du canton de Genève du 11 avril 2019, A.A._ a été condamné, sous le nom de A.B._, à une peine pécuniaire de 90 jours-amende à 10 fr. le jour, avec sursis, pour faux dans les certificats et pour entrée illégale. Il lui a notamment été reproché d'avoir tenté, le jour de son arrivée en Suisse, de se légitimer au moyen d'un passeport du Royaume-Uni signalé comme " volé, détourné, égaré ou invalidé " par les autorités britanniques. A.c. Par décision du 30 avril 2019, le SEM a rejeté la demande d'asile déposée par A.A._ et a prononcé son renvoi de Suisse. Cette décision est entrée en force le 8 mai 2019. A.d. Le 24 mai 2019, l'intéressé a sollicité la reconsidération de sa demande d'asile. Le SEM a refusé d'entrer en matière par décision du 3 juin 2019. Le 4 juin 2019, l'intéressé a déposé un recours contre la décision précitée, que le Tribunal administratif fédéral a rejeté par arrêt du 10 juillet 2019. La demande de révision formée contre l'arrêt précité a été quant à elle rejetée le 18 juillet 2019 (art. 105 al. 2 LTF). B. B.a. Le 4 juin 2019, l'Organisation internationale pour les migrations a proposé à A.A._ une aide au retour, que l'intéressé a refusée, au motif qu'il ne voulait pas rentrer dans son pays d'origine. Le lendemain, les services de police genevois ont obtenu la confirmation que l'intéressé était inscrit sur un vol de ligne le 7 juin 2019 à destination de Tunis. B.b. Le 9 juin 2019, n'ayant pas pu exécuter le renvoi de l'intéressé au vu de l'effet suspensif accordé à son recours devant le Tribunal administratif fédéral du 4 juin 2019 (cf. supra consid. A.d), le Commissaire de police du canton de Genève (ci-après : le Commissaire de police), après avoir obtenu confirmation que les autorités congolaises avaient reconnu A.A._ en tant que ressortissant de la République démocratique du Congo et avaient délivré un laissez-passer à son intention, a ordonné la mise en détention administrative de l'intéressé en vue de son renvoi pour une durée de deux mois, soit jusqu'au 9 août 2019. L'ordre de mise en détention a été confirmé par jugement du Tribunal administratif de première instance du canton de Genève (ci-après: le TAPI) du 11 juin 2019, puis par arrêt de la Cour de justice du canton de Genève (ci-après : la Cour de justice) du 27 juin 2019. B.c. Par demande du 1er juillet 2019, déposée le 2 juillet 2019 auprès du TAPI, A.A._ a requis sa mise en liberté immédiate, produisant en annexe, puis ultérieurement, de nombreux courriers électroniques adressés à diverses autorités et juridictions, notamment des requêtes au Haut-Commissariat des Nations Unies aux droits de l'homme et au Comité contre la torture, tendant à ce qu'il soit recommandé à la Suisse de ne pas le renvoyer. Lors de l'audience, l'intéressé, par l'intermédiaire de son mandataire, a invoqué le fait que le Comité contre la torture avait décidé d'entrer en matière sur sa requête et qu'une de ses proches connaissances, dénommée Madame C._, avait récemment sollicité l'asile en Suisse; or son récit était décisif pour le réexamen de sa demande d'asile. B.d. Par jugement du 10 juillet 2019, le TAPI a rejeté la demande de mise en liberté de A.A._. Le recours déposé par l'intéressé auprès de la Cour de justice contre cette décision a été rejeté par arrêt du 19 juillet 2019. C. Agissant par la voie du recours en matière de droit public et celle, subsidiaire, du recours constitutionnel, A.A._ demande au Tribunal fédéral, sous suite de frais et dépens, outre l'effet suspensif et l'assistance judiciaire, d'annuler l'arrêt du 19 juillet 2019 de la Cour de justice et d'ordonner immédiatement sa libération, subsidiairement de renvoyer la cause à l'autorité précédente pour nouvelle décision dans le sens des considérants. Par ordonnance du 29 juillet 2019, la Juge instructrice de la IIe Cour de droit public du Tribunal fédéral a rejeté la demande d'effet suspensif. La Cour de justice, sans formuler d'observations, persiste dans les considérants et le dispositif de son arrêt. Le TAPI renonce à prendre position. L'Office cantonal de la population et des migrations du canton de Genève dépose des observations et renvoie pour les surplus aux considérants du TAPI et de la Cour de justice. Le recourant n'a pas déposé d'observations finales.