diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f68a60fcf499158efaa1787d9cbdf2151f38e65e..3eae9272c6f43926a54e056be50793347396bd11 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,12 @@ stages:
 mirror_main_branch:
   stage: mirror
   script:
-    - git remote add main https://$ACCESS_TOKEN@mygit.th-deg.de/roboct/definitions/json_schemas
-    - git push --force mirror main
+    - git remote add mirror https://$ACCESS_TOKEN@mygit.th-deg.de/roboct/definitions/json_schemas
+    - git fetch mirror public
+    - git checkout main
+    - git rebase mirror/public
+    - git reset HEAD .gitlab-ci.yml
+    - git checkout -- .gitlab-ci.yml
+    - git push --force-with-lease origin main
   only:
     - main
\ No newline at end of file