git gc –aggressive push to server?

It seems like git gc --aggressive really cleans up my repo, but when I do git push everything is already up-to-date. Is there a way to clean up the server?

  • Re-base sub-branch off master
  • git, github remembers wrong account
  • Can I use `git subtree split` to maintain a “fork” of a project's subdirectory?
  • How to find out what changes on a branch after merges from master?
  • Git in Powershell saying 'Could not find ssh-agent'
  • Team Explorer + Visual Studio Online + Git out of sync
  • What is the effect of git commit without the -a option?
  • How to rollback everything to previous commit
  • How do I go about solving this git conflict?
  • Accessing files of a repository from the Git server
  • SourceTree very slow with many repositories
  • How to change git ssh user for a remote push temporarily?
  • 3 Solutions collect form web for “git gc –aggressive push to server?”

    I know that Github will run git gc periodically as the Github support mentions in this thread.

    I don’t know if you can force it yourself though.
    I didn’t see such a service in the Github hooks.

    I believe that pushing your changes will only add new commits (as necessary to reach the branches you are pushing); it will not delete them. This is corroborated by this github support page on deleting sensitive data:

    Be warned that force-pushing does not erase commits on the remote repository, it simply introduces new ones and moves the branch pointer to point to them. If you are worried about users accessing the bad commits directly via SHA1, you will have to delete the repository and recreate it.

    So if you can’t wait for GitHub’s periodic gc, then you have to recreate.

    You’ll have to run the same command on the server side as well. Most people just set up a cron job or similar to do this sort of housekeeping periodically.

    Git Baby is a git and github fan, let's start git clone.