可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I started getting this message. No matter what I edit and try to commit, it says there is nothing to commit. Looks like git does not see my working directory and looking somewhere else.
If I run git status
it outputs the same:
nothing to commit (working directory clean)
If I create new branch and edit something, then same thing happens. This started happening when I needed to fix merge clashes. When I wanted to merge my one branch with master branch, I had to manually fix it and I needed my files to look exactly as in that branch overwriting master branch those same files. So I added those files and it let me merge it. But then no matter what I change it shows as there is nothing to commit.
What could be done here?
回答1:
Found what was wrong. I don't understand how, but .git
directory path somehow was changed to other path than I was working in. So then anything I changed was not checked, because git was checking in other place. I noticed it, when I reinitialized it and it showed that it reinitialized entirely different directory. When I cd ..
from my current directory and cd
to it back again and then reinitialized yet again, then it switched back to correct .git
directory and started seeing my changes.
回答2:
For people working in public open source projects, if you face this behaviour, it is most likely that the file you are editing is excluded from the git repository using .gitignore
. I faced the same behaviour, and after hours I found that the file I was making the change is excluded in .gitignore
because it is a settings file, and every one will have their own local version.
回答3:
This must have happened because by mistake you reinitialized git in the same directory.
Delete the .git folder using the following command
Go to repository you want to upload
open the terminal and then use the following commands
- remove the .git repository
sudo rm -r .git
- Now again repeat from initializing git repo using
git init
- then
git commit -m "first commit"
git remote add origin https://github.com/user_name/repo
git push -u origin master
After that enter the username and password and you are good to go
回答4:
Check the location whether it's the right location of the git project.
回答5:
For anyone seeing this problem, the simplest solution I found was to just "git clone" your repo and delete the old directory. This should set up your pathing correctly by default.
回答6:
I had the same issue. The branch I was working on wasn't being tracked. The fix was:
git push orgin
This fixed it temporarily. To make the changes pertinently I:
git config push.default tracking
回答7:
In my case I had previously initialized a git directory where I was trying to create a new one. I just deleted all the old files and started from scratch.
回答8:
Here is another twist on it. My .gitignore file seemed to have been modified / corrupted so that a file I was ignoring
e.g.
/Project/Folder/StyleCop.cache
got changed to this (Note now 2 separate lines)
/Project/Folder
StyleCop.cache
so git was ignoring any files I added to the project and below.
Very weird, no idea how the .gitignore file was changed, but took me a while to spot. Once fixed, the hundreds of css and js files I added went in.
回答9:
On branch master
Problem it is committed already nothing to commit (working directory clean) if faced this problem then just only use the following command
git push -u origin master
or
git reset
git add .
git commit -m "your commit message"
git push -u origin master
回答10:
Go to your workspace folder
- find .git folder
- delete the folder and its contents
- use git init command to initialize.
Now it will show what all the files can be committed.
回答11:
I just had this problem myself because I was in the wrong folder. I was nested 1 level in, so there were no git files to be found.
When I execute cd ..
to the correct directory, I was able to commit, as expected.
回答12:
Encountered this while using SourceTree, fixed it by
- First stash your current uncommitted changes.
- Apply / Unstash the same changes using Sourcetree.
Worked like a charm.
回答13:
try removing the origin first before adding it again
git remote rm origin
git remote add origin https://github.com/abc/xyz.git
回答14:
Don't try commiting / adding files. Just run the following 2 commands (:
git remote add origin http://xyzremotedir/xyzgitproject.git
git push origin master
回答15:
if .git is already there in your dir, then follow:
rm -rf .git/
git init
git remote add origin http://xyzremotedir/xyzgitproject.git
git commit -m "do commit"
git push origin master
回答16:
I have faced the same issue with git while working with angular CLI 6.1.2. Angular CLI 6.1.2 automatically initializes .git folder when you create a new angular project using Angular CLI. So when I tried git status - it was not detecting the whole working directory.
I have just deleted the hidden .git folder from my angular working directory and then initialized git repository again with git init. And now, I can see all my files with git status.
回答17:
Don't use git commit. Skip commit and it will work.
Just do the
git remote add origin
and
git push