---I have the same problem but the fix does not seem to work.
I cloned a new repository. From it, I
a. created a new branch with git checkout -b
b. We updated our files in one of the directories, call it GAWBE
c. did our push to that branch
d. inspected the branch on the github.com site, It was fine
Then, I had to update files in a different directory to the master branch. Call the directory PDBE Thus, I did
- git checkout master
- went to the
PDBE
directory - updated several files there
- did the git status
(I got the message
On branch master
nothing to commit, working directory clean
as indicated above) - I did the
git branch --set-upstream-to origin/master
Got the messageBranch master set up to track remote branch master from origin.
f. I then did git status Again, I got# On branch master nothing to commit, working directory clean
- I tried
git pull origin
From https://github.com/doctorleff/u3e *branch master -> FETCH_HEAD Already up to date.
h. I triedgit status
again with the sameworking directoyr clean
message andgit commit
with the same message
Needless to say, I alo checked my .gitignore
and .git/info/exclude
Nothing in the latter--former does not specify any of the files in question,
all .java
This as per the Issue 37269222 Also tried the rm -rf .git (Issue 37900326) also tried git log as per issue 29578546, got error message: fatal: bad default revision 'HEAD'
Thank you for suggesting that I create a minimal file to show the problem with my branches and git hub.
On github, I created a new repository. (It is marked public.)
(It is doctorleff/TR
1) I created a directory TR
to serve as my repository.
2) I put a single file there IncomeFile.java
3) git init
Told me Initialized empty Git repository in /home/leffstudent/TR/.git
4) git add IncomeFile.java
5) Created gitignore
with *.class
6) git add .gitignore
7) git status
told me
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: .gitignore
# new file: IncomeFile.java
8) `git commit -m "first commit"
Response was:
[master (root-commit) 6e71c52] first commit
2 files changed, 37 insertions(+)
create mode 100644 .gitignore
create mode 100644 IncomeFile.java
8) git remote add origin https:/github.com/doctorleff/TR.git
9) git push -u origin master
It asked me for my git login and password, then told me
Counting ojbects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done
Writing objects: 100% (4/4), 681 bytes | 0 bytes/s, done.
10) git checkout -b TOMCAT
Told me:
Switched to a new branch 'TOMCAT'
11) I changed IncomeFile.java
slightly
12) git add IncomeFile.java
13) git commit -m "testing tomcat branch"
[TOMCAT 54f1b57] testing tomcat branch
1 file changed, 1 insertion(+), 1 deletion (-)
14) git push origin tomcat
Again, I was asked for my github username and passwrd.
Then it told me:
error: src refspect tomcat does not match any.
error: failed to push some refs to 'https://github.com/doctorleff/TR.git'
15) When I did a git status
$On branch TOMCAT
nothing to commit, working directory clean
Same thing if I simply type git status
I tried git check-ignore -v -- IncomeFile.java
Just get back the prompt
My test directory now seems to be working. Thus, I went back to the original cloned repository about which I spoke earlier.
I followed some of the instructions in StackOverflow issue 4089430. (See link below) I compared the results on both the working TEST repository and the repository that does not work. It appears that the local repository lost track of its remote.
I was thinking, should I do a git clone right into the defective repositories to reconnect them to the world.
Meanwhile, I worked around my problem by cloning to a different computer, a Macintosh. I am able to work normally with the remote repository. Thus, I don't believe there is any problem with it. And I have, a slightly less convenient, way to proceed with our project.
[How can I determine the URL that a local Git repository was originally cloned from?
I have two transcripts (edited slightly from script). The first is from the test repository, that shows things working-- thanks for asking me to try that--
and then from the real one
cd TR
git remote show origin
* remote origin
Fetch URL: https://github.com/doctorleff/TR.git
Push URL: https://github.com/doctorleff/TR.git
HEAD branch: master
Remote branches:
TOMCAT tracked
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local refs configured for 'git push':
TOMCAT pushes to TOMCAT (up to date)
master pushes to master (up to date)
git remote show origin
* remote origin
Fetch URL: https://github.com/doctorleff/TR.git
Push URL: https://github.com/doctorleff/TR.git
HEAD branch: master
Remote branches:
TOMCAT tracked
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local refs configured for 'git push':
TOMCAT pushes to TOMCAT (up to date)
master pushes to master (up to date)
git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: IncomeFile.java
#
no changes added to commit (use "git add" and/or "git commit -a")
git checkout -- IncomeFile.java
git checkout TOMCAT
Switched to branch 'TOMCAT'
git status
# On branch TOMCAT
nothing to commit, working directory clean
VI IncomeFile.java
git commit -m "changed mC to Mc"
# On branch TOMCAT
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: IncomeFile.java
#
no changes added to commit (use "git add" and/or "git commit -a")
git add IncomeFile.java
git commit -m "changed mC to Mc"
[TOMCAT 7b842b0] changed mC to Mc
1 file changed, 1 insertion(+), 1 deletion(-)
push origin
fatal: The current branch TOMCAT has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin TOMCAT
git push --setu-upstream origin TOMCAT
Username for 'https://github.com': doctorleff
Password for 'https://doctorleff@github.com':
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 33% (1/3)
Compressing objects: 66% (2/3)
Compressing objects: 100% (3/3)
Compressing objects: 100% (3/3), done.
Writing objects: 33% (1/3)
Writing objects: 66% (2/3)
Writing objects: 100% (3/3)
Writing objects: 100% (3/3), 323 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 0% (0/1) remote: Resolving deltas: 100% (1/1) [K
remote: Resolving deltas: 100% (1/1), completed with 1 local object.[K
To https://github.com/doctorleff/TR.git
ff102ee..7b842b0 TOMCAT -> TOMCAT
Branch TOMCAT set up to track remote branch TOMCAT from origin.
git add IncomeFile.java
"change M[KCa to aC"
[TOMCAT 1a6739c] change Ca to aC
1 file changed, 1 insertion(+), 1 deletion(-)
git push origin
Username for 'https://github.com': doctorleff
Password for 'https://doctorleff@github.com':
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 33% (1/3)
Compressing objects: 66% (2/3)
Compressing objects: 100% (3/3)
Compressing objects: 100% (3/3), done.
Writing objects: 33% (1/3)
Writing objects: 66% (2/3)
Writing objects: 100% (3/3)
Writing objects: 100% (3/3), 324 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 0% (0/1) [K
remote: Resolving deltas: 100% (1/1) Resolving deltas: 100% (1/1), completed with 1 local object.[K
To https://github.com/doctorleff/TR.git
7b842b0..1a6739c TOMCAT -> TOMCAT
THUS, I then tried to go back to one of the repositories that was corrupted.
cd sv/web/src
git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
#LONG LIST OF FILES REMOVED for clarity
#
# Test.java
nothing added to commit but untracked files present (use "git add" to track)
git add Test.java
git commit -m "testing with Test.java"
[master (root-commit) 96c329f] testing with Test.java
1 file changed, 70 insertions(+)
create mode 100644 Test.java origin
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
git push --set-upstream origin master
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists
____________________________________________
git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# $
# .RatingEntryServletNew.java.swp
# 11in35tr.xls
# AdminFrontServlet.class
# AdminFrontServlet.java
# AgreementBackend.class
-- REST OF LONG LIST OF FILES GIVEN DELETED FOR BREVITY
nothing added to commit but untracked files present (use "git add" to track)
git remote show origin
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
git config --get remote.origin.url
git remote -v
git ls-remote --get-r[Kurl
fatal: No remote configured to list refs from.
git ls-remote --get-url origin
origin
I also tried the git check-ignore -v --
on several files on the depository.
This was as suggested in the answer.
It just returns--I assume that means that these files are not affected by any ignore rule.
____ response to VonC ___
In sv/web/src
there is a .git
subdirectory. FETCH_HEAD
is zero bytes
HEAD
syas refs: refs/heads/master
That file exists and contains a long
hex code which I assume is a commit code, but I cannot find it at github.com.
The root (sv
) also has a .git
There, HEAD
says refs/heads/tomcat
MY other local reposityory copy
sw/web/src
also has a .git
Its HEAD
has
line ref: refs/heads/master
But in that case, that file does not exist.
As suggested, I did try git remote -v
on the two repositories in
question. Here is the output for sv
git remote -v
githubrepo https://github.com/doctorleff/u3e.git (fetch)
githubrepo https://github.com/doctorleff/u3e.git (push)
origin https://github.com/doctorleff/u3e.git (fetch)
origin https://github.com/doctorleff/u3e.git (push)
The second sw
is showing that the repository is hopelessly corrupted:
git remote -v
fatal: Not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Since then, I have created a new local clone on this repository from github. I went back and forth between the two branches and everything is OK. Thus, please consider this matter closed as not reproducable and no longer a problem for original poster. ~