Faits : A. Par jugement du 4 mars 2019, le Tribunal correctionnel de la République et canton de Genève a reconnu A._ coupable de tentative de meurtre (art. 111 cum 22 al. 1 CP) et de mise en danger de la vie d'autrui (art. 129 CP) en lien avec les faits du 18 août 2011, sur les personnes de C._ pour la première infraction et D._ pour la seconde, de complicité de lésions corporelles simples (art. 123 ch. 1 cum 25 CP) s'agissant des faits du 11 mai 2014 et de tentative de lésions corporelles graves (art. 122 cum 22 al. 1 CP) pour ceux du 24 août suivant. A._ a été condamné à une peine privative de liberté de quatre ans, sous déduction de 83 jours de détention avant jugement et de 33 jours correspondant à l'imputation des mesures de substitution, peine complémentaire à celle prononcée le 17 décembre 2015 par la Chambre pénale d'appel et de révision de la République et canton de Genève, ainsi qu'à payer la somme de 2'000 fr., avec intérêts à 5% dès le 24 août 2014, à B._ au titre de réparation du tort moral. Le Tribunal correctionnel a également levé les mesures de substitution ordonnées le 8 novembre 2011 par le Tribunal des mesures de contraintes et modifiées le 21 février 2013 par le Ministère public genevois. B. Par arrêt du 18 octobre 2019, la Chambre pénale d'appel et de révision de la République et canton de Genève a rejeté l'appel formé par A._ et admis partiellement l'appel joint formé par le Ministère public à l'encontre du jugement du Tribunal correctionnel. Elle a condamné A._ à une peine privative de liberté de quatre ans, sous déduction de 83 jours de détention avant jugement, mais n'a imputé aucun jour au titre des mesures de substitution ordonnées. Elle a constaté par ailleurs que le principe de célérité n'avait pas été violé. Cet arrêt se fonde en substance sur les faits suivants. B.a. Le 18 août 2011 vers 4h15 du matin, une bagarre a éclaté dans le night-club E._, sis rue F._ à G._. L'altercation avait débuté entre H._ et A._, videur du night-club en question mais en congé cette nuit-là, puis s'était généralisée entre la vingtaine de personnes présentes et s'était poursuivie à l'extérieur. A._ s'était alors saisi d'une arme à feu qui se trouvait dans son véhicule parqué non loin et avait fait feu en direction de C._, qui s'enfuyait en compagnie d'une autre personne. A._ a tiré le premier coup de feu alors que C._ était à une dizaine de mètres d'une voiture de service de la société I._ conduite par D._, laquelle se trouvait alors à hauteur de l'îlot du passage piétons reliant l'entrée de la rue J._ à K._. A._ a manqué sa cible. A la suite de ce coup de feu, C._ est passé derrière le véhicule I._, plaçant l'agent de sécurité entre lui-même et le tireur. D._ a démarré et avancé, opérant un demi-tour autour de l'îlot pour ne plus être dans la ligne de visée du tireur. L'instant précédent ce demi-tour, A._ a tiré un second coup de feu qui a traversé le véhicule I._. Le projectile est passé à quelques centimètres de la tête de D._, qui n'a pas été blessé. B.b. Le 11 mai 2014, vers 03h30, devant la discothèque L._, A._ a prêté assistance à M._ pour lui permettre d'asséner un coup de poing au visage de N._ et d'autres coups alors que celui-ci était à terre, lui causant diverses lésions. B.c. Le 24 août 2014, vers 04h00, dans le L._, A._ a entraîné B._ dans un coin de l'établissement et lui a asséné des coups de poing au visage, le faisant tomber. Au sol, il a continué de lui donner des coups de pied, également à la tête. Deux acolytes se sont joints à A._ et ont également frappé B._. Ce dernier a souffert de diverses lésions notamment au visage. C. Contre l'arrêt cantonal, A._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut, avec suite de frais et dépens, principalement, à la réforme du jugement attaqué en ce sens qu'il est acquitté des chefs d'infraction de tentative de meurtre au préjudice de C._, de mise en danger de la vie d'autrui au préjudice de D._ et de tentative de lésions corporelles graves au préjudice de B._, qu'il est déclaré coupable du chef d'infraction de lésions corporelles simples au préjudice de ce dernier, et à sa condamnation, après constat de la violation du principe de célérité, à une peine privative de liberté n'excédant pas six mois, sous déduction de 83 jours de détention avant jugement et de 165 jours correspondant à l'imputation des mesures de substitution. A titre subsidiaire, il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à la cour cantonale pour nouvelle décision. En outre, il sollicite l'assistance judiciaire et la désignation de Me Xavier-Marcel Copt en qualité d'avocat d'office.