Faits : A. A._, né en 1961, a travaillé comme opérateur informatique auprès de la société C._ SA depuis octobre 2005. Le 12 janvier 2015, son employeur a résilié les rapports de travail avec effet au 30 avril 2015, date qui a ensuite été reportée au 30 septembre 2015 en raison d'une incapacité de travail. En janvier 2016, A._ a déposé une demande de prestations de l'assurance-invalidité. Dans le cadre de l'instruction de la demande, l'Office de l'assurance-invalidité du canton de Neuchâtel (ci-après: l'office AI) a notamment fait verser à son dossier celui de l'assureur perte de gain de l'employeur, Allianz Suisse Société d'Assurances SA (ci-après: Allianz), qui avait diligenté deux expertises psychiatriques. Il a soumis les rapports d'expertise (rapports des docteurs D._, du 17 décembre 2015, et E._, du 20 juillet 2016, tous deux spécialistes en psychiatrie et psychothérapie), ainsi que les renseignements qu'il avait recueillis auprès des médecins traitants (rapports des docteurs F._, spécialiste en médecine interne générale, du 14 mars 2016, et G._, spécialiste en psychiatrie et psychothérapie, des 28 avril 2016 et 24 août 2017, notamment) à la doctoresse H._, médecin au Service médical régional (SMR). En se fondant notamment sur les conclusions du docteur E._, qui avait fait état d'une pleine capacité de travail moyennant un reconditionnement d'une durée de un à deux mois, la doctoresse H._ a retenu que l'assuré avait recouvré une capacité de travail de 50 % depuis le 21 juillet 2016, puis de 100 % dès le 21 septembre 2016 (av is des 7 novembre 2016, 31 octobre 2017 et 20 février 2018). En conséquence, l'administration a reconnu le droit de A._ à une rente entière d'invalidité pour la période du 1 er juillet au 31 décembre 2016 (décision du 12 octobre 2018). B. Statuant le 12 février 2019 sur le recours formé par A._, qui concluait principalement à l'octroi d'une rente entière d'invalidité illimitée dans le temps dès le 1er juillet 2016, et subsidiairement, à la réalisation d'une nouvelle expertise par un expert indépendant, le Tribunal cantonal de la République et canton de Neuchâtel, Cour de droit public, l'a rejeté. C. A._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation. Il conclut principalement à la reconnaissance de son droit à une rente entière d'invalidité illimitée dans le temps depuis le 1er juillet 2016; subsidiairement, il requiert le renvoi de la cause à l'instance cantonale ou à toute autre autorité pour nouvelle décision au sens des considérants. Le recourant sollicite par ailleurs le bénéfice de l'assistance judiciaire.