Faits :
A.
A.a. X._, né en 1970 et originaire d'Algérie, est entré illégalement en Suisse en 2004. A la suite de son mariage, le 8 septembre 2008, avec la ressortissante suisse Y._, il a obtenu une autorisation de séjour valable jusqu'au 7 septembre 2009. Aucun enfant n'est issu de cette union.
A.b. Après environ une année de mariage, la vie commune du couple a pris fin. Le 25 septembre 2009, Y._ a déposé une requête de mesures protectrices de l'union conjugale devant le Tribunal d'arrondissement de l'Est vaudois (ci-après: le Tribunal d'arrondissement), dans laquelle elle concluait notamment à l'autorisation de vivre séparée de son époux et à l'attribution du domicile conjugal. L'arrêt attaqué n'indique pas quelle suite a été donnée à cette requête.
Le 30 avril 2010, l'avocat représentant alors X._ a communiqué au Service de la population du canton de Vaud (ci-après: le Service cantonal) que les époux avaient repris la vie commune. Le 21 février 2011 (<ref-law>), Y._ a écrit au Service cantonal, en indiquant qu'elle souhaitait se séparer "définitivement" de son mari, en raison d'une situation conflictuelle persistante au sein du couple. X._ s'est apparemment constitué un domicile séparé en date du 3 avril 2011.
Dès le 1 er juillet 2011, les époux ont fait à nouveaux ménage commun, jusqu'à la séparation définitive, intervenue le 2 octobre 2012.
A.c. Le 23 avril 2013, Y._ a déposé une deuxième requête de mesures protectrices de l'union conjugale devant le Tribunal d'arrondissement. Le 22 juillet 2013, la Présidente dudit Tribunal a autorisé les époux à vivre séparés et attribué le domicile conjugal à Y._.
B.
B.a. Par décision du 9 juillet 2010, le Service cantonal a révoqué l'autorisation de séjour de X._. Le 26 octobre 2010, la Cour de droit administratif et public du Tribunal cantonal du canton de Vaud (ci-après: le Tribunal cantonal) a admis partiellement le recours formé par X._ contre la décision précitée et renvoyé la cause au Service cantonal pour instruction complémentaire. Le 7 décembre 2010, après avoir constaté que les époux vivaient ensemble, le Service cantonal a octroyé à X._ une nouvelle autorisation de séjour, qu'il a régulièrement renouvelée jusqu'en 2014 (<ref-law>).
B.b. Le 25 février 2014, après avoir donné à l'intéressé la possibilité d'exercer son droit d'être entendu, le Service cantonal a révoqué l'autorisation de séjour de X._ et refusé de lui octroyer une autorisation d'établissement. Par arrêt du 23 octobre 2014, le Tribunal cantonal a rejeté le recours formé par X._ contre la décision précitée, qu'il a confirmée.
C.
A l'encontre de l'arrêt du 23 octobre 2014, X._ dépose un recours en matière de droit public au Tribunal fédéral. Il conclut, sous suite de frais et dépens, à l'annulation de l'arrêt querellé et au renvoi de la cause au Tribunal cantonal pour nouvelle décision dans le sens des considérants. Il sollicite en outre le bénéfice de l'assistance judiciaire.
Le Service cantonal et le Tribunal cantonal renoncent à se déterminer, alors que le Secrétariat d'Etat aux migrations conclut au rejet du recours. Le recourant a répliqué.
Par ordonnance présidentielle du 21 novembre 2014, l'effet suspensif a été accordé au recours.

Considérant en droit :
1.
En vertu de l'art. 83 let. c LTF, le recours en matière de droit public est notamment irrecevable contre les décisions en matière de droit des étrangers qui concernent une autorisation à laquelle ni le droit fédéral ni le droit international ne donnent droit (ch. 2). Le recourant invoque l'art. 50 al. 1 LEtr (RS 142.20) selon lequel, après dissolution de la famille, le droit du conjoint à l'octroi d'une autorisation de séjour et à la prolongation de sa durée de validité subsiste dans certains cas. Dès lors qu'il n'est pas d'emblée exclu que les conditions de cette disposition soient remplies, il convient d'admettre le droit de recourir sous l'angle de l'art. 83 let. c ch. 2 LTF, étant précisé que le point de savoir si le recourant peut effectivement se prévaloir d'un droit à séjourner en Suisse relève du fond et non de la recevabilité (cf. arrêt 2C_14/2014 du 27 août 2014 consid. 1, non publié in <ref-ruling>; arrêt 2C_50/2015 du 26 juin 2015 consid. 1.1). La voie du recours en matière de droit public est donc ouverte.
Le recours est dirigé contre une décision finale (<ref-law>), rendue en dernière instance cantonale par un tribunal supérieur (art. 86 al. 1 let. d et al. 2 LTF). Pour le surplus, le recours a été déposé en temps utile (<ref-law>), et dans les formes prescrites (<ref-law>) par le destinataire de l'arrêt entrepris qui a un intérêt digne de protection à son annulation ou à sa modification (<ref-law>). Par conséquent, il y a lieu d'entrer en matière.
2.
Le recourant reproche au Tribunal cantonal d'avoir constaté que la vie commune avec son épouse avait duré moins de trois ans au sens de l'art. 50 al. 1 let. a LEtr.
2.1. Selon l'art. 50 al. 1 let. a LEtr, après dissolution de la famille, le droit du conjoint à l'octroi d'une autorisation de séjour et à la prolongation de sa durée de validité en vertu des art. 42 et 43 LEtr subsiste si l'union conjugale a duré au moins trois ans et que l'intégration est réussie. Il s'agit de deux conditions cumulatives (<ref-ruling> consid. 3.5.3 p. 295). Selon la jurisprudence, la période minimale de trois ans de l'union conjugale commence à courir dès le début de la cohabitation effective des époux en Suisse et s'achève au moment où ceux-ci cessent de faire ménage commun (<ref-ruling> consid. 4.1 p. 348). La limite des trois ans est absolue et s'applique même s'il ne reste que quelques jours pour atteindre la durée des trente-six mois exigés par l'art. 50 al. 1 let. a LEtr (cf. <ref-ruling> consid. 3.1.3 p. 347).
2.2. Le Tribunal cantonal a retenu que la première exigence de l'art. 50 al. 1 let. a LEtr n'était pas remplie. Les juges cantonaux ont en effet estimé qu'il n'était pas possible, en l'espèce, d'additionner les trois différents épisodes de vie commune des époux, de sorte que la durée minimale de trois ans prévue par l'art. 50 al. 1 let. a n'avait pas été atteinte.
Le recourant conteste ce raisonnement. Selon lui, les juges cantonaux auraient dû cumuler les trois périodes pendant lesquelles il avait fait ménage commun avec sa femme. D'après ce calcul, l'union conjugale aurait duré au total plus de trois ans.
2.2.1. Sous réserve d'un éventuel abus de droit, la jurisprudence admet que plusieurs périodes de vie commune en Suisse, même de courte durée et/ou qui sont interrompues par des temps de séparation prolongée, peuvent être additionnées en vue de satisfaire à la condition de la durée minimale de l'union conjugale (<ref-ruling> consid. 4.5.2 p. 351; arrêt 2C_50/2015 du 26 juin 2015 consid. 3.3.2). En particulier, le Tribunal fédéral a jugé que des séjours à l'étranger du couple ne font pas obstacle à l'application de l'art. 50 al. 1 let. a LEtr si l'addition des périodes de vie commune en Suisse aboutit à une durée supérieure à trois ans (cf. arrêts 2C_602/2013 du 10 juin 2014 consid. 2.2 et 2C_430/2011 du 11 octobre 2011 consid. 4.1.2).
Pour établir si la période pendant laquelle un couple vit à nouveau ensemble après une séparation doit ou non être comptabilisée, il faut savoir si les époux ont conservé la volonté sérieuse de maintenir une union conjugale pendant leur vie séparée (cf. <ref-ruling> consid. 4.5.2 p. 351; arrêts 2C_50/2015 du 26 juin 2015 consid. 3.3.2; 2C_602/2013 du 10 juin 2014 consid. 2.2; 2C_231/2011 du 21 juillet 2011 consid. 4.6). Ne peuvent ainsi être comptabilisées une ou plusieurs périodes de vie commune de courte durée interrompues par de longues séparations lorsque le couple ne manifeste pas l'intention ferme de poursuivre son union conjugale (cf. <ref-ruling> consid. 4.5.2 p. 351; <ref-ruling> consid. 3.5.1 p. 294 s.; arrêt 2C_50/2015 du 26 juin 2015 consid. 3.3.2).
2.2.2. En l'espèce, il n'est pas contesté que les époux ont fait ménage commun à trois reprises. La durée exacte de chaque période de cohabitation n'est pas clairement établie. Dans l'hypothèse la plus favorable au recourant, les époux ont vécu ensemble pendant environ treize mois (septembre 2008 - octobre 2009), douze mois (avril 2010 - avril 2011), respectivement quinze mois (juillet 2011 - octobre 2012). Aucune de ces périodes n'atteint à elle seule la durée minimale de trois ans exigée par l'art. 50 al 1 let. a LEtr. Il y a ainsi lieu d'examiner si les trois moments de cohabitation du couple peuvent être cumulés, ce qui présuppose de déterminer si, pendant les séparations, les époux ont conservé la volonté sérieuse de maintenir leur union conjugale (cf. supra consid. 2.2.1).
Il découle des faits constatés par la précédente instance que, lors de la première séparation du couple en septembre 2009, l'épouse avait déposé une requête de mesures protectrices de l'union conjugale devant le Tribunal d'arrondissement, dans laquelle elle concluait notamment à l'autorisation de vivre séparée de son époux et à l'attribution du domicile conjugal. L'arrêt attaqué indique également que, suite à cette séparation, l'époux a pris un domicile séparé à Z._. Ces éléments sont propres à mettre en doute le maintien de l'union conjugale entre les époux après leur première séparation. Cela étant, cette question peut demeurer indécise, car la poursuite de l'union conjugale ne peut de toute façon pas être retenue en ce qui concerne la deuxième séparation du couple, intervenue au printemps 2011. En effet, il ressort de l'arrêt attaqué que cette séparation faisait suite à une lettre envoyée par l'épouse au Service cantonal, dans laquelle celle-ci faisait état d'une situation conflictuelle persistante au sein du couple et exprimait très clairement le désir de se séparer définitivement de son mari. Dans ces circonstances, force est de constater que, en tout cas dans l'esprit de l'épouse de l'intéressé, la séparation survenue au printemps 2011 était définitive. Le recourant ne démontre pas le contraire, en se limitant à affirmer dans son mémoire que les époux "ont certes connu des épisodes difficiles dans leur vie conjugale, mais ils se sont néanmoins demeurés fidèles l'un à l'autre et se sont réconciliés à deux reprises" (sic). En outre, le fait que le couple ait à nouveau fait ménage commun depuis le mois de juillet 2011 n'est pas de nature à infirmer cette appréciation. Dans le cas contraire il suffirait que, à la suite d'une séparation de fait de plusieurs mois, un couple reprenne la cohabitation, pour en déduire a posteriori que l'union conjugale avait été maintenue pendant la séparation, ce qui n'est pas concevable.
Il ressort de ce qui précède que, faute de poursuite de l'union conjugale lors de la deuxième séparation des époux, le recourant ne peut pas cumuler le troisième épisode de cohabitation du couple avec les deux autres périodes de vie commune, ce qui exclut qu'il puisse se prévaloir de l'art. 50 al. 1 let. a LEtr. En effet, même à supposer qu'elle soit possible, l'addition des deux premières phases de cohabitation (treize mois, respectivement douze mois) ne suffirait pas pour atteindre la durée minimale de trois ans prévue par cet article.
Il y a encore lieu de relever que l'<ref-ruling>, invoqué par le recourant dans sa réplique du 19 février 2015, ne saurait lui être d'aucun secours, étant donné qu'il vise un état de fait différent. En particulier, dans ce cas, la séparation du couple n'était pas fondée sur une détérioration de la relation entre les conjoints, mais elle était motivée par le séjour à l'étranger de l'épouse pour des raisons professionnelles. De même, dans un arrêt récent, le Tribunal fédéral a admis le cumul de plusieurs périodes de vie commune en Suisse pour des époux qui, pendant les phases de séparation dues à l'activité professionnelle (à l'étranger) de l'épouse, avaient conservé la volonté sérieuse de poursuivre leur union conjugale (cf. arrêt 2C_50/2015 du 26 juin 2015 consid. 3.3.1).
En résumé, le recourant ne peut pas se prévaloir de l'art. 50 al. 1 let. a LEtr, car l'union conjugale avec sa femme a duré moins de trois ans. Cela étant, il n'est pas nécessaire d'examiner si son intégration est ou non réussie selon la deuxième condition de cette disposition.
3.
Au demeurant, il convient de préciser que le recourant ne critique pas, à juste titre, devant le Tribunal fédéral, le refus de lui accorder une autorisation de séjour sur la base de l'art. 50 al. 1 let. b LEtr, disposition correctement appliquée dans le cas d'espèce par les précédents juges.
Les considérants qui précèdent conduisent au rejet du recours.
4.
Le recourant a sollicité sa mise au bénéfice de l'assistance judiciaire. La cause paraissant d'emblée dépourvue de chances de succès, cette requête doit être rejetée (<ref-law>). Les frais seront mis à la charge du recourant, qui succombe, mais fixés en tenant compte de sa situation financière obérée (art. 65 al. 2 et 66 al. 1 LTF). Il ne sera pas alloué de dépens (art. 68 al. 1 et 3 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'000 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué à la mandataire du recourant, au Service de la population du canton de Vaud, au Tribunal cantonal du canton de Vaud, Cour de droit administratif et public, et au Secrétariat d'Etat aux migrations SEM.
Lausanne, le 14 juillet 2015
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
Le Président : Zünd
Le Greffier : Ermotti