Git status fatal: bad object HEAD
First of all, note that using git itself is not enough to keep data safe. You still need to back it up and have a remote repository in cases of corruption.
There are some reasons when a git repository becomes badly damage and when you do:
git status
you will see :
fatal: bad object HEAD
Reason:
More likely a disk error or an unclean PC or Laptop shutdown or disconnect suddenly and unsafely a hard drive from laptop could have left the repository in this state.
The consequence problem is that the ~/main_repo/.git directory of your repository is damaged.
There are several ways and methods to fix it but if you have a backup in GitHub or other online git repositories or another remote server, you can fix such errors easily.
Solution:
I assume you have a backup in github like:
https://github.com/your_account/backup_repo
So make a temp directory and then clone the backup repository in it.
Like:
cd ~git clone https://github.com/your_account/backup_repo.git
Note: Be careful for cloning the repository with suffix .git like above. If you put backup_repo instead of backup_repo.git then you can not find .git directory inside what you have cloned.
Then replace the broken .git folder with the one from the clone by mv or cp -r commands.
Warning:
If you delete the damaged .git directory by:
rm -rf ~/main_repo/.git
and try to copy the clone (backup) ~/backup_repo/.git directory to ~/main_repo/ by :
cp -r ~/backup_repo/.git ~/main_repo/
you will lose all the things that are not in your working directory (local branches, stash, etc).
So first of all just use cp -r or mv try to fix the problem.
mv ~/backup_repo/.git ~/repo/orcp -r ~/backup_repo/.git ~/repo/
Then
git status
You will see the stage becomes normal!
If you want to run all the git commands just in one command read this.
I would like to introduce two packages for Laravel that I have recently developed: Laravel Pay Pocket, a modern multi-wallet package, and Laravel Failed Jobs, a UI for the Laravel Failed Jobs Table. I hope they may be of help to you.
https://github.com/HPWebdeveloper/laravel-pay-pocket
https://github.com/HPWebdeveloper/laravel-failed-jobs
Also I’d like to hear your opinion on this article. If you have any doubt, question or suggestion please leave a comment below.
Have a very wonderful day!