git - Your branch is ahead of 'origin/master' by 1 commit

GitPushCommit

Git Problem Overview


I am newbie in git and I am working on git.

I added some files in git :

git add <file1>
git add <file2>

then I wanted to push that for review, but mistakenly I did

git commit

so the files which I have changed don't go for reviews.
Now if I enter the command :

git status

it says

# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)

I want to revert that commit and I want to push those files for review rather than commit. Can anyone let me know how I can do that?

Git Solutions


Solution 1 - Git

You cannot push anything that hasn't been committed yet. The order of operations is:

  1. Make your change.
  2. git add - this stages your changes for committing
  3. git commit - this commits your staged changes locally
  4. git push - this pushes your committed changes to a remote

If you push without committing, nothing gets pushed. If you commit without adding, nothing gets committed. If you add without committing, nothing at all happens, git merely remembers that the changes you added should be considered for the following commit.

The message you're seeing (your branch is ahead by 1 commit) means that your local repository has one commit that hasn't been pushed yet.

In other words: add and commit are local operations, push, pull and fetch are operations that interact with a remote.

Since there seems to be an official source control workflow in place where you work, you should ask internally how this should be handled.

Solution 2 - Git

git reset HEAD^ --soft (Save your changes, back to last commit)

git reset HEAD^ --hard (Discard changes, back to last commit)

Solution 3 - Git

If you just want to throw away the changes and revert to the last commit (the one you wanted to share):

git reset --hard HEAD~

You may want to check to make absolutely sure you want this (git log), because you'll loose all changes.

A safer alternative is to run

git reset --soft HEAD~ # reset to the last commit
git stash              # stash all the changes in the working tree 
git push               # push changes 
git stash pop          # get your changes back 

Solution 4 - Git

I resolved this by just running a simple:

git pull

Nothing more. Now it's showing:

# On branch master
nothing to commit, working directory clean

Solution 5 - Git

git reset HEAD^

then the modified files should show up.

You could move the modified files into a new branch

use,

git checkout -b newbranch

git checkout commit -m "files modified"

git push origin newbranch

git checkout master

then you should be on a clean branch, and your changes should be stored in newbranch. You could later just merge this change into the master branch

Solution 6 - Git

git reset HEAD <file1> <file2> ...

remove the specified files from the next commit

Solution 7 - Git

connect to

> remote origin/master

not

> local master

and make a pull request.

Create a new branch base on remote master.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsamView Question on Stackoverflow
Solution 1 - GittdammersView Answer on Stackoverflow
Solution 2 - GitJuanito FatasView Answer on Stackoverflow
Solution 3 - GitShepView Answer on Stackoverflow
Solution 4 - GitkarlingenView Answer on Stackoverflow
Solution 5 - GitOZIView Answer on Stackoverflow
Solution 6 - GitBnjmnView Answer on Stackoverflow
Solution 7 - GitEhsan EhsaniView Answer on Stackoverflow