Fixing the “protocol error: bad pack header” error in git

When trying to push in git, you might get the following error message:

fatal: internal server error
remote: internal server error
fatal: protocol error: bad pack header

In my case, it was because I pulled a corrupted remote Gerrit repository, and tried to push the corrupted data back to the fixed remote. Everyone who had pulled the corrupted repository also ran into the same error.

Fortunately, the fix is really easy. All you have to do is run those four commands:

cp .git/config .git/config.backup
git remote remove origin
mv .git/config.backup .git/config
git fetch

This fix comes from Jordan Klassen.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax