Hi,
this post describes if something went wrong and you want to delete the last n commits on gitlab.
Make a fresh clone of your repository
1 2 | michael@debdev ~ # git clone git@gitlab.com:MyUser/MyProject michael@debdev ~ # cd MyProject |
Determine the last commit you want to preserve/your HEAD should be
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | michael@debdev ~ /MyProject # git log commit f526d79a10fbdc702e3c7c6b148a53289868731b (HEAD -> main, origin /main , origin /HEAD ) Author: michael@debdev Date: Thu Jul 4 18:48:38 2024 +0200 Doc update commit dc67e928afc7092daa21b33fa8193a96b76375fe Author: michael@debdev Date: Thu Jul 4 18:40:10 2024 +0200 New File commit 3023fb10bcde2faf390eb9b4f69b538711daba40 Author: michael@debdev Date: Thu Jul 4 18:24:58 2024 +0200 Fixes .... .... |
In the case commit 3023fb10bcde2faf390eb9b4f69b538711daba40
1 | michael@debdev ~ /MyProject # git reset --hard dc67e928afc7092daa21b33fa8193a96b76375fe |
Then push it pack with -f switch
1 | michael@debdev ~ /MyProject # git push -f origin main |
If an error
1 | remote: GitLab: You are not allowed to force push code to a protected branch on this project. |
occure then your respository is protected. Unprotect it

push the repository and reprotect the repository.
Michael