Sachverhalt: A. Der 1956 geborene A._ hatte während 15 Jahren als Hilfsmaler bei der Firma B._ AG gearbeitet und war danach bis im Juni 2005 in anderen Funktionen, zuletzt bei der C._ AG, tätig. Er meldete sich am 28. Oktober 2005 wegen Rückenschmerzen, insbesondere einer Diskushernie im Halsbereich, bei der Invalidenversicherung zum Leistungsbezug an. In der Folge wurde der Versicherte mehrfach operiert (erste Hernienoperation am 11. Juli 2005), behandelt und begutachtet. Mit Verfügung vom 12. Dezember 2011 gewährte die Sozialversicherungsanstalt des Kantons St. Gallen (IV-Stelle) A._ ab dem 1. August 2009 eine Viertelsrente. B. Das Versicherungsgericht des Kantons St. Gallen hiess die dagegen erhobene Beschwerde mit Entscheid vom 30. Juni 2014 gut und sprach dem Versicherten ab 1. Juli 2006 eine ganze und ab dem 1. Februar 2011 eine Dreiviertelsrente zu. C. Die IV-Stelle erhebt Beschwerde in öffentlich-rechtlichen Angelegenheiten und stellt den Antrag, der vorinstanzliche Entscheid sei insoweit aufzuheben, als A._ ab dem 1. Februar 2011 mehr als eine halbe Rente zugesprochen werde; zudem sei der Beschwerde aufschiebende Wirkung zu erteilen. A._ lässt auf Abweisung der Beschwerde schliessen. Des Weitern ersucht er um unentgeltliche Rechtspflege für das letztinstanzliche Verfahren. Das Bundesamt für Sozialversicherungen lässt sich nicht vernehmen. D. Mit Verfügung vom 29. Oktober 2014 hat der Instruktionsrichter der Beschwerde die aufschiebende Wirkung insoweit zuerkannt, als dem Beschwerdegegner ab dem 1. Februar 2011 mehr als eine halbe Rente zugesprochen worden war.