Vovy pulls the commits you are missing, often from Lovable or a teammate, merges them with yours, and pushes without force-overwriting anyone's work.
git push says rejected, the remote contains work that you do not have locally
How it works
- Read the rejection: Vovy reads the "[rejected] main -> main (fetch first)" error. It means GitHub has commits you do not, and Git will not overwrite them.
- See what is new on GitHub: Vovy fetches and shows the missing commits as a card, often ones Lovable or a collaborator pushed while you worked.
- Pull and combine: Vovy runs git pull --rebase, which replays your commits on top of theirs for a tidy history.
- Resolve any conflicts: If both sides edited the same lines, Vovy walks you through each conflict before continuing.
- Push normally: Vovy pushes without --force and shows a card with the combined history, so nobody's work was lost.
What you provide
- Your repo with unpushed commits
- The full push error
What you get
- Your commits pushed
- Remote changes kept
- No force-push overwrite
- Why it happened, explained
FAQ
Should I just use git push --force?
Almost never. It deletes the commits on GitHub that you do not have, which could be Lovable's or a teammate's work.
Why does this keep happening with Lovable?
Lovable commits to the synced branch every time you prompt it. Pull before you start editing locally.
What is rebase?
It lifts your commits and puts them on top of the latest version, as if you had started from there. The result reads like a straight line.
Related tasks
All tasks