I found many questions with similar subject, but I didn't found any practical guidance about this issue: why git status
informs me nothing to commit, working directory clean
, even tough I have made a modification at my local branch?
Here are the steps which I followed:
git init
[On branch master - Initial commit, nothing to commit (create/copy files and use "git add" to track)]git remote add https://github.com/username/project.git
git pull origin master
touch test
git add test
git commit -m "Adding file for test purposes only."
git status
[On branch master - nothing to commit, working directory clean] If I do a git push
, the modification is committed to the remote branch. I just want to perform "git status" after my modifications, and receive the information that I have changes on my local branch that must be pushed to the remote branch of the project.
Can someone tell me what's going? Straight to the point, please.
Thanks in advance SO community!
Your local branch doensn't know about the remote branch. If you don't tell git that your local branch (master) is supposed to compare itself to the remote counterpart (origin/master in this case); then git status won't tell you the difference between your branch and the remote one. So you should use:
git branch --set-upstream-to origin/master
or with the short option:
git branch -u origin/master
This options --set-upstream-to (or -u in short) was introduced in git 1.8.0.
Once you have set this option; git status
will show you something like:
# Your branch is ahead of 'origin/master' by 1 commit.