Think Twice Before Downgrading to a Free GitHub Account
blog.jaredsinclair.com
blog.jaredsinclair.com
I agree that it'd be nice if they warned you about features you're using that will be turned off, but I don't think it's unreasonable to expect that people requesting downgrades understand which features are in which plan.
Maybe this could be suggested to GitHub's Paperclips project, to avoid future confusion?
I would suppose that as time passes by, Microsoft will improve the free offering avaialable on their service.
Isn't the whole point of democracy "a large enough volume of ignorance will average out to something sensible"? :P
That's not at all the case, and even to the extent it is it is frustrated in separation of powers systems like the US, where the faction voted out will often be the one least responsible for the problems, since three are multiple factions in power at any given time a day the ignorance leads to blaming the wrong one.
I hope not. A much stronger argument is that government should be by consent of its citizens. Otherwise, you get democracy-is-bad-because-people-vote-wrongly arguments (e.g. women vote too left-wing or white people vote too right-wing).
No, which is why the avdocates of liberal democracy from the very beginning have also argued that an an informed populace is critical to it.
It is the point that “self interest averaged out over the whole population equals public interest”, though, but greed and ignorance aren't the same thing.
They then further go on to say, "... when upgrading back to a Pro account, any branch protection rules you had before were permanently deleted when you downgraded to the free tier. They will all have to be recreated from scratch."
That is useful information, to me. People write blog posts about all types of things that are obvious to some and useful to others. Why be so nasty about this short post that seems to be useful to a lot of people? I guess that's 2019 for ya.
It's easy to ask snarky questions. That doesn't mean it's helpful or witty.
And I agree it's a fairly obvious risk if you stop and think about it, but it's not necessarily true that losing access to a feature, which is a reversible state, also permanently deletes all configuration data associated with that feature.
Regarding the branch protection feature, I can see it both ways, but I think overall I would have not expected them to be re-instantiated when upgrading to a higher tier again. Branches could have changed since then. I could have added more branches, deleted a branch which previously had the protection, then maybe created a new branch under the same name, etc.
Unless it's an immediate "I accidentally downgraded, revert all changes back again" action I think it's easier for GitHub to just let the user re-create what makes the most sense for them at the point of re-joining the higher tier. But like with most user features it's debatable...
Automatically making it public seems like a new behavior, could someone confirm/infirm my memories?
[0] https://docs.gitlab.com/ee/user/project/protected_branches.h...
Found this out when my old student account lapsed after I left college. Luckily, they screwed up and unlocked my private repos when attempting to charge me (there was no credit card on my Github account and never was -- nice work, Github) and I was able to pull my private repos and move everything to Gitlab.
Zero regrets. Extortion is never acceptable, especially when it's policy.
Free accounts are now allowed unlimited numbers of private repos with limited collaboration.
But I would also not classify as removing access when you stop paying as extortion. You know when your account is paid up to. You would therefore know when you'd have featureful access to. It's not their fault you can't plan ahead is it?
We can blame the end user all we want, but GitHub could have prevented all of this.
Then store backups of your repositories somewhere else than GitHub.
Also, the spelling is "lose".
Garbage is created every time you amend or rebase. What is the value of keeping around commits that are unreachable through any branch, containing typos in the commit messages?
It seems to me that source control can really bring out the hoarder in people, a fear of throwing away anything because you might need it later. I prefer it when the commits in a repo tell a story, but keeping everything that didn't end up on the master branch... why?
That is what I mean by second class citizen. The same logic doesn't apply to deleted files in a branch. If I delete a file it may not be accidental at all, and still I expect it to be accessible and not be considered 'orphaned', 'garbage' or similar. Why doesn't git throw away everything that is older than 90 days? (the default for gc)
Cloud backup (Backblaze etc.) is for when my house is on fire. But the only backups I actually trust are the ones that I have 100% control over.
It's not a big deal to me, I'll probably just make the repos public.
Do you mean some specific additional features for GitHub Pages, such as a vanity URL, or building from private repos?
With repositories it is just so easy for little configuration drift to slip in. A branch you forgot to protect. A user/group that should no longer have write permissions, etc.
[0] https://www.terraform.io/docs/providers/github/r/branch_prot... https://www.terraform.io/docs/providers/type/vcs-index.html
Have you seen how github wikis work? Their backend is anoth git repo, with markdown files. Very nice for backups and change detection.
Same method can be appplied to configuration. Separate repo with json files or something.
Also the config and permissions changes are logged, because they're git commits too.
The same could be done without forking git. One could also just have a parallel git repo with config files.
It keeps all developers from pushing code without peer review.
(In my experience, it’s just as often senior devs pushing broken code because “this was a simple change, why does it need review?” and it in fact being broken. Furthermore, doing PRs is not solely to “check for mistakes”, they are also used for knowledge sharing, among other reasons)
This is true, I don't know why I went with juniors.
I am not advocating for use of git or mercurial, use whatever suits your needs! But I think having a platform like bitbucket support alternatives to git is a big plus for developer freedom to chose.
GitHub allows you to restore branches and commits are restorable from the ref log.
https://twitter.com/natfriedman/status/1109880047207235589?s...
Sorry to hear!
I do often rebase on my local branch but i will communicate a force push on master to the whole team and will disable protection temporarily.
If thats the only reason, he should overthink his workflow.
[0] https://git-scm.com/docs/git-config#Documentation/git-config...
It's not common to rebase?
> i will communicate a force push on master to the whole team and will disable protection temporarily
Isn't that exactly what this point was about? You have branch protection enabled for master because you think it's a good idea to avoid accidental force-pushes. These comments were exactly about not having the ability to protect branches.
I'm not really sure what you're arguing for/against.
I'll admit I haven't used git in extremely complex circumstances, but I've always viewed --force as something you do only if you really mess up, such as pushing secrets (and that should obviously be in addition to invalidating those keys and generating new ones).
yes, force pushing can be dangerous, which is why (when you use the rebase strategy) you usually protect certain branches. force-pushing should only happen on your short-lived topic branches.
It doesn't actually delete the commits, but you can't find them anymore if you don't remember the hash of the former head commit of the branch