0

I am very new to working with Git and GitBash.

I have a repo on GitHub called "RepoA" which already has some files (let's say files from FolderA). I uploaded these on there using add, commit and push in GitBash. Due to some issues I had to delete the ".git" folder in FolderA and now I'm trying to create another ".git" folder in it but the issue is that GitBash is not detecting the already uploaded files. I'm assuming I have to git clone the repo (?) because I read some answers about that. But the issue with that is my branch name "main" (which I actually want to push to; part of RepoA) is appearing as "master" and hence I cannot commit or push anything or there.

My main questions are:

  1. How can I make it so, so that the files in RepoA are tracked by the ".git" folder?
  2. How can I add files from FolderA to my "main" branch in RepoA?

I realize that manually uploading is possible too but I'd really like to experiment using GitBash or even CMD commands.

I tried initializing .git again but again, that resulted in all the files being untracked and me having to manually commit and push again.

I have tried git clone of RepoA but all that does is copy the files from RepoA into my Folder A.

2
  • You cannot just create a .git folder and expect it to have all the meta data it needs. Your best bet is to clone the pushed repo again, then manually copy any changed files over from your botched working copy where you deleted .git. Any changes you haven't pushed may be lost. Commented Jul 7, 2024 at 20:22
  • @Robert Could you please explain this in depth? Commented Jul 9, 2024 at 3:14

1 Answer 1

0

The .git folder is where git keeps all its housekeeping information. If you delete it, what was your working copy before, becomes just a basic folder with files and subfolders. It loses all versioning information, upstream repositories, and so on. So don't mess with .git, unless you know what you are doing.

If you run git init to create a new .git folder, this is a new repository with no history, no tracked files, and no connection to your github repository. You can do that, but you'll lose all your previous history and the connection to the so called upstream repository on github.

To get your repository back, I'd do this: rename your local repository folder, then git clone from github into a new folder, outside your existing working tree. As you saw, that gets you what the remote repository (github) has. It also gets you back the version history and all the other git stuff.

If you made changes to the files in the directory where you deleted the .git folder, the newly cloned repository will not have these changes. You can just copy everything over to the newly cloned repository folder. But don't copy the .git folder, or you overwrite the git metadata again, and you'll have to start over. By doing this you'll lose information about commits between what github has and when you deleted the .git folder, so you lose that history. No way around that, unless you have a backup you can restore. But at least you'll keep your latest changes to any files. git add and git commit them and git push to github as needed.

As to main vs master: this is just a setting in either github or your local git configuration. You can run this command to get the setting:

git config --global --get init.defaultBranch

and

git config --global init.defaultBranch main

The --global means for all your repositories. If you leave that out and run the command in a working tree (repository), it will apply to that repository only.

You can switch branches in git by running e.g.,

git checkout main

or

git switch main

When you commit on a branch that github doesn't know about, you can push the branch and tell github to connect these branches. The autoSetupRemote option makes this automatic; see Automatically track remote branch with git

git config --global push.autoSetupRemote true
Sign up to request clarification or add additional context in comments.

1 Comment

Thank you for the comment and the help. This actually solved my problem and I was able to track my changes and everything again. Will come back to this again if I get stuck. Thank you for the help!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.