Considérant en fait et en droit :
1.
Par arrêt du 19 novembre 2019, notifié le 28 novembre 2019, la Cour de justice du canton de Genève a rejeté le recours que A._, requérant d'asile de la Côte d'Ivoire attribué au canton de Bâle-Campagne, dont la demande a été refusée définitivement le 26 février 2015 et le renvoi de Suisse prononcé, avait déposé contre le jugement du Tribunal administratif de première instance du canton de Genève confirmant la décision de l'Office cantonal de la population du canton de Genève du 22 mars 2019 de ne pas entrer en matière sur sa demande d'autorisation de séjour pour cas de rigueur déposée notamment pour raisons médicales. Le canton de Genève n'était pas compétent pour se prononcer sur la demande de l'intéressé. Seul le canton de Bâle-Campagne l'était. L'intéressé ne pouvait en outre pas se prévaloir d'un droit manifeste au sens de l'art. 14 al. 1 LAsi.
2.
Par mémoire du 8 janvier 2020, l'intéressé a déposé un recours auprès du Tribunal fédéral contre l'arrêt rendu le 19 novembre 2019 par la Cour de justice du canton de Genève. Il soutient que l'Office cantonal de la population du canton de Genève et le Secrétariat d'Etat aux migrations n'ont pas de compétence en matière médicale. Il est d'avis qu'il a été prouvé qu'il risque son intégrité physique et sa vie en retournant vivre seul à Bâle-Campagne. En substance, il demande au Tribunal fédéral d'ordonner le renouvellement de son permis N ou de lui octroyer un permis de séjour humanitaire. Il requiert le bénéfice de l'assistance judiciaire.
3.
L'objet de la contestation porté devant le Tribunal fédéral est déterminé par l'arrêt attaqué. L'objet du litige, délimité par les conclusions des parties (art. 107 al. 1 LTF), ne saurait s'étendre au-delà de l'objet de la contestation. Il s'ensuit que, devant le Tribunal fédéral, le litige peut être réduit, mais ne saurait être ni élargi, ni transformé par rapport à ce qu'il était devant l'autorité précédente, qui l'a fixé dans le dispositif de l'arrêt entrepris et qui est devenu l'objet de la contestation devant le Tribunal fédéral (ATF 142 I 155 consid. 4.4.2 p. 156 et les références citées; arrêt 2C_930/2018 du 25 octobre 2018 consid. 3). La partie recourante ne peut par conséquent pas prendre des conclusions ni formuler des griefs allant au-delà de l'objet du litige.
En l'espèce, l'arrêt attaqué n'a porté, à l'instar du jugement du Tribunal administratif de première instance du canton de Genève, que sur l'irrecevabilité de la demande d'autorisation de séjour pour cas de rigueur déposée par le recourant auprès de l'Office cantonal de la population du canton de Genève. Le recours et ses conclusions ne peuvent par conséquent pas porter sur le renouvellement ou la délivrance d'une autorisation de séjour en Suisse. Le recourant ne soulève aucun grief à l'encontre des motifs qui ont conduit les instances précédente à confirmer l'irrecevabilité prononcée par l'autorité intimée.
4.
Les considérants qui précèdent conduisent à l'irrecevabilité manifeste du recours (art. 108 al. 1 let. a LTF) qui est prononcée selon la procédure simplifiée de l'art. 108 LTF, sans qu'il y ait lieu d'ordonner un échange d'écritures. Le recours étant d'emblée dénué de chances de succès, la requête d'assistance judiciaire est rejetée (art. 64 al. 1 LTF). Succombant, le recourant doit supporter les frais, réduits, de la procédure devant le Tribunal fédéral (art. 66 al. 1 LTF). Il n'est pas alloué de dépens (art. 68 al. 1 et 3 LTF).
Par ces motifs, le Président prononce :
1.
Le recours est irrecevable.
2.
La requête d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 300 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué au recourant, à l'Office cantonal de la population et des migrations du canton de Genève, à la Cour de justice de la République et canton de Genève, Chambre administrative, 2ème section, ainsi qu'au Secrétariat d'Etat aux migrations.
Lausanne, le 8 janvier 2020
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
Le Président : Seiler
Le Greffier : Dubey