Sachverhalt: A. Der kosovarische Staatsangehörige A.A._ (geb. 1989) kam am 24. Mai 1999 zusammen mit seiner Mutter und seinen Geschwistern in die Schweiz, wo er eine Niederlassungsbewilligung zum Verbleib bei seinem Vater erhielt. Er schloss die Schule ab und absolvierte eine Lehre als Maler. Am 1. Dezember 2010 verurteilte das Strafgericht Basel-Stadt A.A._ wegen versuchter vorsätzlicher Tötung in nicht entschuldbarem Notwehrexzess (begangen am 6. September 2008), falscher Anschuldigung sowie mehrfacher einfacher Verletzung der Verkehrsregeln und mehrfacher grober Verletzung der Verkehrsregeln zu einer Freiheitsstrafe von dreidreiviertel Jahren, einer Busse von Fr. 800.-- und einer Genugtuungszahlung von Fr. 10'000.--. Sowohl A.A._ als auch die Staatsanwaltschaft Basel-Stadt appellierten gegen dieses Urteil. Am 18. Oktober 2011 verurteilte das Strafgericht Basel-Stadt A.A._ wegen mehrfacher einfacher Verletzung der Verkehrsregeln und mehrfacher grober Verletzung der Verkehrsregeln (begangen am 10. September 2010) zu einer bedingten Geldstrafe von 15 Tagessätzen und einer Busse von Fr. 400.--. Mit Urteil vom 28. November 2012 bestätigte das Appellationsgericht Basel-Stadt den Schuldspruch vom 1. Dezember 2010, erhöhte aber die Freiheitsstrafe auf viereinhalb Jahre und die zu bezahlende Genugtuung auf Fr. 16'000.--. Die von A.A._ dagegen erhobene Beschwerde wies das Bundesgericht mit Urteil 6B_148/2013 vom 19. Juli 2013 ab, soweit es darauf eintrat. B. Am 30. Oktober 2013 widerrief das Amt für Migration Basel-Landschaft die Niederlassungsbewilligung und wies A.A._ aus der Schweiz weg. Die gegen diese Verfügung erhobenen Rechtsmittel blieben erfolglos (Entscheid des Regierungsrates des Kantons Basel-Landschaft vom 18. März 2014 und Urteil des Kantonsgerichts Basel-Landschaft vom 30. Juli 2014). C. A.A._ erhebt am 13. Oktober 2014 Beschwerde in öffentlich-rechtlichen Angelegenheiten beim Bundesgericht mit den Anträgen, das angefochtene Urteil aufzuheben, die Niederlassungsbewilligung nicht zu widerrufen und von einer Wegweisung abzusehen. Zudem beantragt A.A._ die unentgeltliche Prozessführung mit seinem Rechtsvertreter als unentgeltlichem Rechtsbeistand. Das Kantonsgericht verzichtet auf Vernehmlassung. Der Regierungsrat und das Bundesamt für Migration (seit 1. Januar 2015: Staatssekretariat für Migration SEM) schliessen auf Abweisung der Beschwerde. A.A._ hat am 5. Januar 2015 repliziert. Das Gesuch um Erteilung der aufschiebenden Wirkung ist am 1. Mai 2015 bewilligt worden.