I recently did a hard reset of my local git repository: In other words I reset it to an earlier point in time. Now when I try to push up to the origin
it tells me that it can't because the origin
contains work of a later date than my repository. This makes sense, but I don't care about the work the origin has after my local repository.
If I first pull
, which is what I am told to do, I presume that my local HEAD
will then become whatever the origin
HEAD
was, ie with the additional work and my hard reset will be for nought.
How should I proceed here? To recap, I don't care about the additional later work on the origin, but do care about the extra work on the local done after the hard reset.
I am beginning to think that hard resets are not a great idea.
You can push --force
to override the current HEAD
of the origin
, even if your local branch is not a descendant of it.
However: You should be aware of the consequences: Other developers working on the same repository now cannot easily pull in the changes, but have to reset / rebase to the origin. Using forced pushes / rewriting pushed history is bad and should be avoided whenever possible.
See also another answer here on StackOverflow on the dangers of forced pushes: How to properly force a Git Push?
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.