I have pushed on the wrong branch, I want to push on new branch but I have pushed on the master branch. Is there any way to Reverse the last committed push and get the last code and pushed again to the new branch? 
 
    
    - 846
- 2
- 9
- 24
- 
                    1Possible duplicate of [How can I remove a commit on GitHub?](https://stackoverflow.com/questions/448919/how-can-i-remove-a-commit-on-github) – Remy J Jun 07 '17 at 05:52
- 
                    I don't want to delete my last commit, I want to edit my last commit. So how can I do it? I just want my last commit work in my local changes. Does it possible? – Habib Jun 07 '17 at 05:54
- 
                    You mean edit the last commit message? – Remy J Jun 07 '17 at 05:56
- 
                    No, I mean to say that I want to push my last commit from master to my any local branch. – Habib Jun 07 '17 at 06:04
2 Answers
Undo the last commit by soft reset from local master branch and keep the changes locally (in working tree).
$ git checkout master
$ git reset --soft HEAD~1
$ git log               # make sure the last commit is reverted successfully as you expect.
Checkout to a new branch (say, feature). Add, Commit, Push to remote branch (feature here).
$ git checkout -b feature   # checkout new branch with the local changes
$ git status                # see the changed files
$ git add .
$ git commit -m 'message'
$ git push origin HEAD
Back to local master and do force push to update the remote master (delete remote master's last commit)
$ git checkout master
$ git push -f origin HEAD
N.B: Force push needed since changing the history of the remote master.
Alternate: If you don't have force push permission or someone else Pulled the origin/master and got your last commit already. Then better you revert the last commit instead reset (history change).
$ git checkout master
$ git log                        # copy the last-commi-hash
$ git revert <last-commit-hash>
$ git push origin HEAD           # note, no force push is needed
Create a new branch and cherry-pick the last commit and push to remote.
$ git checkout -b feature
$ git cherry-pick <last-commit-hash>
$ git push origin HEAD     
 
    
    - 22,878
- 9
- 63
- 73
- 
                    I am in my master branch, where I have pushed my commit. I run this command `git reset --soft HEAD~1` but I can't see any files in local changes. Where the files gone? They are also not in the git log. – Habib Jun 07 '17 at 06:08
- 
                    1Did you run `git reset --hard "commit id"` before as @Moses Nandwa told? – Sajib Khan Jun 07 '17 at 06:10
- 
                    1`git reflog` will show you the whole history of commands you executed. Just copy your last commit hash and checkout to that commit by `git checkout`. Now follow the answer. – Sajib Khan Jun 07 '17 at 06:23
- 
                    
git log 
This will give you a log of all the commits and then git reset --hard "commit id" 
This will reset to the given head
 
    
    - 179
- 2
- 3
- 
                    Would it revert the last committed files and get these files into the local changes? – Habib Jun 07 '17 at 05:50
- 
                    Does reset delete the commit or does it get files into the local changes? – Habib Jun 07 '17 at 05:53