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 <mab...@gmail.com> 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 <aher...@gmail.com> 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 <do...@fortysix.ch> 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 <ogo...@gmail.com> 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 jenkinsci-de...@googlegroups.com.
>>> 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 jenkinsci-de...@googlegroups.com.
>> 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 jenkinsci-dev+unsubscr...@googlegroups.com.
> 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 jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to