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!
This question is related to
git
github
git-commit
The problem is that you are not specifying the name of the remote: Instead of
git remote add https://github.com/username/project.git
you should use:
git remote add origin https://github.com/username/project.git
git status
output tells you three things by default:
When you did git commit
, it committed to your local repository, thus #3 shows nothing to commit, however, #2 should show that you need to push or pull if you have setup the tracking branch.
If you find the output of git status verbose and difficult to comprehend, try using git status -sb
this is less verbose and will show you clearly if you need to push or pull. In your case, the output would be something like:
master...origin/master [ahead 1]
git status
is pretty useful, in the workflow you described do a git status -sb
: after touching the file, after adding the file and after committing the file, see the difference in the output, it will give you more clarity on untracked, tracked and committed files.
Update #1
This answer is applicable if there was a misunderstanding in reading the git status output. However, as it was pointed out, in the OPs case, the upstream was not set correctly. For that, Chris Mae's answer is correct.
Small hint which other people didn't talk about: git doesn't record changes if you add empty folders in your project folder. That's it, I was adding empty folders with random names to check wether it was recording changes, it wasn't. But it started to do it as soon as I began adding files in them. Cheers.
Delete your .git folder, and reinitialize the git with git init, in my case that's work , because git add command staging the folder and the files in .git folder, if you close CLI after the commit , there will be double folder in staging area that make git system throw this issue.
I had the same issue because I had 2 .git
folders in the working directory.
Your problem may be caused by the same thing, so I recommend checking to see if you have multiple .git
folders, and, if so, deleting one of them.
That allowed me to upload the project successfully.
Source: Stackoverflow.com