diff --git a/git.go b/git.go
index 40488bed369d55b0876a470fee22d1bcc5eafe2f..84c29d9c192678e1e652d8e9d437043b3855d2e5 100644
--- a/git.go
+++ b/git.go
@@ -11,7 +11,6 @@ import (
 	"github.com/go-git/go-git/v5"
 	"github.com/go-git/go-git/v5/plumbing"
 	"github.com/go-git/go-git/v5/plumbing/object"
-	"github.com/go-git/go-git/v5/plumbing/storer"
 )
 
 type CommitType int
@@ -43,15 +42,31 @@ func GetCommitType(path string) (CommitType, error) {
 }
 
 func getLatestSemanticTag(path string) (string, error) {
-
 	r, err := git.PlainOpen(path)
 	if err != nil {
 		return "", fmt.Errorf("failed to open repository: %v", err)
 	}
 
+	tagList, err := getSemanticTags(r)
+	if err != nil {
+		return "", err
+	}
+
+	if len(tagList) == 0 {
+		return "", fmt.Errorf("no semantic tags found")
+	}
+
+	sort.Slice(tagList, func(i, j int) bool {
+		return compareSemanticVersions(tagList[i], tagList[j])
+	})
+
+	return tagList[len(tagList)-1], nil
+}
+
+func getSemanticTags(r *git.Repository) ([]string, error) {
 	tags, err := r.Tags()
 	if err != nil {
-		return "", fmt.Errorf("failed to get tags: %v", err)
+		return nil, fmt.Errorf("failed to get tags: %v", err)
 	}
 
 	var tagList []string
@@ -64,18 +79,10 @@ func getLatestSemanticTag(path string) (string, error) {
 	})
 
 	if err != nil {
-		return "", fmt.Errorf("failed to iterate over tags: %v", err)
-	}
-
-	if len(tagList) == 0 {
-		return "", fmt.Errorf("no semantic tags found")
+		return nil, fmt.Errorf("failed to iterate over tags: %v", err)
 	}
 
-	sort.Slice(tagList, func(i, j int) bool {
-		return compareSemanticVersions(tagList[i], tagList[j])
-	})
-
-	return tagList[len(tagList)-1], nil
+	return tagList, nil
 }
 
 func isSemanticVersion(tagName string) bool {
@@ -109,10 +116,8 @@ func getLatestTagCommit(r *git.Repository) (*object.Commit, error) {
 		return nil, fmt.Errorf("failed to get tags: %v", err)
 	}
 
-	var (
-		mostRecentTag    *plumbing.Reference
-		mostRecentCommit *object.Commit
-	)
+	var mostRecentTag *plumbing.Reference
+	var mostRecentCommit *object.Commit
 
 	err = tags.ForEach(func(tag *plumbing.Reference) error {
 		obj, err := r.TagObject(tag.Hash())
@@ -141,6 +146,7 @@ func getLatestTagCommit(r *git.Repository) (*object.Commit, error) {
 
 		return nil
 	})
+
 	if err != nil {
 		return nil, fmt.Errorf("failed to iterate over tags: %v", err)
 	}
@@ -156,6 +162,7 @@ func getCommitTypeSinceTag(r *git.Repository, tagCommit *object.Commit) (CommitT
 
 	var commitType CommitType
 	found := false
+
 	err = cIter.ForEach(func(commit *object.Commit) error {
 		if commit.Hash == tagCommit.Hash {
 			found = true
@@ -176,6 +183,7 @@ func getCommitTypeSinceTag(r *git.Repository, tagCommit *object.Commit) (CommitT
 
 		return nil
 	})
+
 	if err != nil {
 		return OtherCommit, fmt.Errorf("failed to iterate over commit log: %v", err)
 	}