I have a gitlab repo, made commit and merge.
I want to be on id: 9bc6dd4
.
Attempts I am making:
git log --oneline --graph -5
git reset --hard 9bc6dd4
git clean -f -d
git fetch --all
git push -u origin master
When I push to remote repo no changes on remote repo .
CodePudding user response:
Your question text has:
Attempts I am making:
git log --oneline --graph -5 git reset --hard 9bc6dd4 git clean -f -d git fetch --all git push -u origin master
while your image marked "my local repo log" begins with:
user@user-dekstop:~Desktop/work/front$ git log --oneline --graph -5
* 4efe036 (HEAD -> development, origin/mybranch, ...) ...
provided I have not made any typos during transcription. That means your current branch is development
, not master
. Note the HEAD -> development
text. Hence your git reset
will adjust your branch name development
. Your git push
, however, says to push master
to master
(with --force
via
). Since your own master
did not move and still names the same commit as origin/master
, this git push
has no effect.
CodePudding user response:
If your intention is to revert the remote master
branch to commit 9bc6dd4
, there are several ways to do that :
a. just instruct git
to force push 9bc6dd4
to master
:
git push --force-with-lease origin 9bc6dd4:master
# anything that points to '9bc6dd4' can be used :
# after your 'git reset --hard' command : HEAD or development point to that commit
git push --force-with-lease origin HEAD:master
git push --force-with-lease origin development:master
b. switch to your local master
branch first, reset your local branch, then force push :
git checkout master
git reset --hard 9bc6dd4
git push --force-with-lease
If your local master
branch is set to track origin/master
, then the last command will be equivalent to git push --force-with-lease origin master:master
.