Sachverhalt: A. Das Obergericht des Kantons Schaffhausen erklärte X._ mit Urteil vom 29. Januar 2010 in zweiter Instanz der mehrfachen Widerhandlung gegen das Betäubungsmittelgesetz, der mehrfachen Übertretung des Betäubungsmittelgesetzes, der mehrfachen Tätlichkeiten, der Drohung sowie der Nötigung schuldig. Von der Anklage der Freiheitsberaubung sprach es ihn frei. Ferner ordnete es die Rückversetzung in den Strafvollzug an, aus welchem das Amt für Justiz und Gemeinden des Kantons Schaffhausen X._ mit Verfügung vom 2. Dezember 2005 per 12. Dezember 2005 bedingt entlassen hatte (Reststrafe 5 Monate und 2 Tage). Für die Rückversetzung und die neue Strafe sprach das Obergericht eine Gesamtstrafe von 12 Monaten Freiheitsstrafe, unter Anrechnung von 2 Tagen Untersuchungshaft, und von Fr. 1'000.-- Busse, als Zusatzstrafe zum Strafbefehl des Amtsgerichts Lörrach vom 20. Dezember 2007 aus. Die Ersatzfreiheitsstrafe setzte es auf 10 Tage fest. Ferner entschied es über die Zivilforderung sowie über Einziehung und Herausgabe der beschlagnahmten Gegenstände und Geldbeträge. B. X._ führt Beschwerde beim Bundesgericht mit dem Antrag, das angefochtene Urteil sei aufzuheben und die Sache an die Vorinstanz zur neuen Festsetzung des Strafmasses zurückzuweisen. Eventualiter beantragt er, es sei eine Freiheitsstrafe von 9 Monaten und eine Busse von Fr. 1'000.-- bei einer Ersatzfreiheitsstrafe von 10 Tagen, subeventualiter eine Geldstrafe auszusprechen. Ferner sei ihm der bedingte Strafvollzug zu gewähren. Von der Rückversetzung in den Strafvollzug sei abzusehen. Überdies stellt er das Gesuch um Gewährung der unentgeltlichen Rechtspflege. C. Die Staatsanwaltschaft des Kantons Schaffhausen beantragt unter Verzicht auf Stellungnahme die Abweisung der Beschwerde. Das Obergericht des Kantons Schaffhausen hat sich innert Frist nicht vernehmen lassen.