That's really pitty :-( ... force push are dangerous, especially if you don't have control over the Git Server.
Typically recovering a force push is straightforward: 1. git reflog > look at the SHA-1 before the forced push 2. git branch -f <name> <sha-1> But if you don't have control over the Git repo on the Server, that you need to prevent force push to happen: unless they want everyone to buy GH Enterprise ! I still hope GitHub will do 1. and 2. for us :-) Luca. On 10 Nov 2013, at 19:52, Marcus Bauer <[email protected]> wrote: > Hi, > > I don't think GitHub.com has any possibilities for disabling force pushes, > this seems to be exclusive to GH Enterprise only. > > The JaCoCo repo where I initially noticed this was restored by Dominik > Stadler (centic9) few minutes ago. > > Marcus > > Am Sonntag, 10. November 2013 19:55:08 UTC+1 schrieb lucamilanesio: > Hi all, > I have triggered an involuntary "forced push" last night on the list of > Jenkins-CI plugins indicated below in this e-mail. > > My apology > > I did not realise that I actually had forced push permissions and I do > apologise for the inconvenience caused. > The operations pushed back the all the branches to around 1 month. The > history is not lost and is still on the GitHub server but on detached > branches. > > The solution > > I can raise a request to GitHub to provide the "reflog" of those repositories > and restore the branches to the point before my forced push. > Alternatively the owners of those repositories can still perform a "forced > push" to restore the correct position of the branches. > (if you would like to do so, please write to the mailing list so that we do > not overlap the recovery operations) > > The full list > > See below the full list of repositories impacted: > > antexec-plugin.git > artifactory-plugin.git > associated-files-plugin.git > audit2db-plugin.git > audit-trail-plugin.git > backend-pull-request-greeter.git > beaker-builder-plugin.git > branch-api-plugin.git > build-flow-plugin.git > buildgraph-view.git > build-pipeline-plugin.git > build-timeout-plugin.git > buildtriggerbadge-plugin.git > bytecode-compatibility-transformer.git > ci-game-plugin.git > clearcase-plugin.git > clearcase-ucm-plugin.git > cloudbees-folder-plugin.git > cloudbees-plugin-gateway.git > cloudtest-plugin.git > clover-plugin.git > cobertura-plugin.git > collabnet-plugin.git > collapsing-console-sections-plugin.git > compact-columns-plugin.git > compress-artifacts-plugin.git > conditional-buildstep-plugin.git > config-file-provider-plugin.git > configurationslicing-plugin.git > copyartifact-plugin.git > copy-project-link-plugin.git > copy-to-slave-plugin.git > cppcheck-plugin.git > credentials-plugin.git > crowd2-plugin.git > crowd-plugin.git > customtools-plugin.git > cvsclient.git > cvs-plugin.git > dashboard-view-plugin.git > datical-db-plugin.git > dependency-check-plugin.git > deploy-plugin.git > disable-failed-job-plugin.git > disk-usage-plugin.git > doclinks-plugin.git > dry-plugin.git > dynamic-axis-plugin.git > ec2-plugin.git > elastic-axis-plugin.git > email-ext-plugin.git > envinject-lib.git > envinject-plugin.git > extended-choice-parameter-plugin.git > extra-columns-plugin.git > extras-executable-war.git > extreme-feedback-plugin.git > gearman-plugin.git > gerrit-trigger-plugin.git > gitbucket-plugin.git > git-chooser-alternative-plugin.git > git-client-plugin.git > git-plugin.git > global-build-stats-plugin.git > global-variable-string-parameter-plugin.git > gradle-jpi-plugin.git > grails-plugin.git > greenballs-plugin.git > groovy-postbuild-plugin.git > heavy-job-plugin.git > hockeyapp-plugin.git > http-request-plugin.git > humbug-plugin.git > instant-messaging-plugin.git > integrity-plugin.git > ironmq-notifier-plugin.git > ivytrigger-plugin.git > jacoco-plugin.git > jclouds-plugin.git > jira-plugin.git > jobConfigHistory-plugin.git > job-dsl-plugin.git > job-import-plugin.git > job-poll-action-plugin.git > jquery-plugin.git > jquery-ui-plugin.git > json-lib.git > kiuwan-plugin.git > label-verifier-plugin.git > ldap-plugin.git > leiningen-plugin.git > lib-annotation-indexer.git > lib-task-reactor.git > lib-windows-remote-command.git > literate-cli.git > logfilesizechecker-plugin.git > m2release-plugin.git > m2-repo-reaper-plugin.git > mailer-plugin.git > matrix-auth-plugin.git > maven-hpi-plugin.git > maven-info-plugin.git > mercurial-plugin.git > mesos-plugin.git > metadata-plugin.git > mock-security-realm-plugin.git > msbuild-plugin.git > naginator-plugin.git > nerrvana-plugin.git > nested-view-plugin.git > next-build-number-plugin.git > next-executions-plugin.git > parameterized-trigger-plugin.git > perforce-plugin.git > performance-plugin.git > persona-plugin.git > pitmutation-plugin.git > plain-credentials-plugin.git > plugin-compat-tester.git > postbuildscript-plugin.git > promoted-builds-plugin.git > prqa-plugin.git > publish-over-cifs-plugin.git > puppet-jenkins.git > radiatorview-plugin.git > rapiddeploy-plugin.git > release-plugin.git > repo-plugin.git > rich-text-publisher-plugin.git > robot-plugin.git > run-condition-plugin.git > rvm-plugin.git > scm2job-plugin.git > scm-api-plugin.git > scoring-load-balancer-plugin.git > script-scm-plugin.git > selenium-axis-plugin.git > selenium-builder-plugin.git > selenium-tests.git > skype-im-plugin.git > skytap-cloud-plugin.git > smartfrog-plugin.git > sms-plugin.git > sounds-plugin.git > ssh-agent-plugin.git > ssh-credentials-plugin.git > sshd-module.git > ssh-slaves-plugin.git > starteam-plugin.git > stashnotifier-plugin.git > subversion-plugin.git > suppress-stack-trace-plugin.git > swarm-plugin.git > synergy_scm-plugin.git > tap-plugin.git > teamconcert-plugin.git > testlink-plugin.git > tfs-plugin.git > thin-backup-plugin.git > throttle-concurrent-builds-plugin.git > tikal-multijob-plugin.git > timestamper-plugin.git > token-macro-plugin.git > transifex-plugin.git > translation-plugin.git > trilead-ssh2.git > unity3d-plugin.git > veracode-scanner-plugin.git > view-job-filters-plugin.git > virtualbox-plugin.git > vsphere-cloud-plugin.git > vstestrunner-plugin.git > walldisplay-plugin.git > warnings-plugin.git > weblogic-deployer-plugin.git > winstone.git > wix-plugin.git > ws-cleanup-plugin.git > xcode-plugin.git > xstream.git > xtrigger-lib.git > xunit-plugin.git > xvfb-plugin.git > xvnc-plugin.git > > The prevention > > Can we prevent this to happen again ? > I personally do not work on any of those repositories but still have "forced > push" permissions ... and so many other people have. > I don't see the value of having such power of "potential disruption" > associated to my account :-( ... can we remove the forced push by default and > enable on a case-by-case basis ? > > --- * --- > > If you would like to propose an alternative approach to resolve the problem, > feel free to follow-up ! > > ... and again ... accept my sincere apologies :-( > > Luca. > > On 10 Nov 2013, at 18:24, Arnaud Héritier <[email protected]> wrote: > >> I confirm we lost many commits. damned github that doesn't allow to disable >> the history rewrite at least on master branch. >> Last commit on Xcode repo is referencing one done by Jerome Lacoste 5 >> montages ago while KK worked on it recently. >> I don't know how we can restore everything easily. We need to find the >> recent hash and relative history in a clone we the push of yesterday was >> retrieved. >> >> — >> Sent from Mailbox for iPhone >> >> >> On Sun, Nov 10, 2013 at 5:51 PM, domi <[email protected]> wrote: >> >> As I don’t know if Luca is following this list too, I’m adding Lucas mail on >> the to list… (got the email address from his GitHub account) >> Please Luca can you explain what you have done to all this repositories? >> regards Domi >> >> >> On 10.11.2013, at 17:25, ogondza <[email protected]> wrote: >> >>> Definitely related, selenium-tests repo lost 17+ commits after such push. >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Jenkins Developers" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to [email protected]. >>> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> > > > -- > You received this message because you are subscribed to the Google Groups > "Jenkins Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
