Troubleshooting misplaced .git directory (nothing to commit)

GitDirectoryGit Commit

Git Problem Overview


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?

Git Solutions


Solution 1 - Git

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.

Solution 2 - Git

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

  1. remove the .git repository sudo rm -r .git

  2. Now again repeat from initializing git repo using git init

  3. then git commit -m "first commit"

  4. git remote add origin https://github.com/user_name/repo

  5. git push -u origin master After that enter the username and password and you are good to go

Solution 3 - Git

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.

Solution 4 - Git

Check the location whether it's the right location of the git project.

Solution 5 - Git

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

Solution 6 - Git

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.

Solution 7 - Git

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

Solution 8 - Git

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.

Solution 9 - Git

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.

Solution 10 - Git

Encountered this while using SourceTree, fixed it by

  1. First stash your current uncommitted changes.
  2. Apply / Unstash the same changes using Sourcetree.

Worked like a charm.

Solution 11 - Git

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.

Solution 12 - Git

try removing the origin first before adding it again

git remote rm origin
git remote add origin https://github.com/abc/xyz.git

Solution 13 - Git

Don't try commiting / adding files. Just run the following 2 commands (:

git remote add origin http://xyzremotedir/xyzgitproject.git
git push origin master

Solution 14 - Git

Go to your workspace folder

  1. find .git folder
  2. delete the folder and its contents
  3. use git init command to initialize.

Now it will show what all the files can be committed.

Solution 15 - Git

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.

Solution 16 - Git

if .git is already there in your dir, then follow:

  1. rm -rf .git/
  2. git init
  3. git remote add origin http://xyzremotedir/xyzgitproject.git
  4. git commit -m "do commit"
  5. git push origin 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
QuestionAndriusView Question on Stackoverflow
Solution 1 - GitAndriusView Answer on Stackoverflow
Solution 2 - GitMahiView Answer on Stackoverflow
Solution 3 - GitpalerdotView Answer on Stackoverflow
Solution 4 - GitGankView Answer on Stackoverflow
Solution 5 - GitAnujView Answer on Stackoverflow
Solution 6 - GitkaidView Answer on Stackoverflow
Solution 7 - GitJon KennedyView Answer on Stackoverflow
Solution 8 - GitLeviathanView Answer on Stackoverflow
Solution 9 - GitrichardbView Answer on Stackoverflow
Solution 10 - GitrustylepordView Answer on Stackoverflow
Solution 11 - GitpinkeangstioView Answer on Stackoverflow
Solution 12 - GitkhalidhView Answer on Stackoverflow
Solution 13 - GitWalkView Answer on Stackoverflow
Solution 14 - GitGerald AmalrajView Answer on Stackoverflow
Solution 15 - GitAnkitView Answer on Stackoverflow
Solution 16 - Gitanshu agarwalView Answer on Stackoverflow