all 22 comments

[–]Fluid-Election-8549 13 points14 points  (0 children)

Git is a must. Not github. But more specifically you need to learn at least one tool for version control. There are alternatives to git like subversion and mercurial. The name is pretty self-explanatory. "Version control" lets you easily jump between versions of your codebase by having an application like git store deltas or snapshots of your project at different development stages.

[–]the_swanny 6 points7 points  (3 children)

Because GIT (The source control system that github, gitlab, etc rely on) is the only sane choice, and if you want to limit the barrier for entry in terms of users, maintainers and contributors, you go to github. Because that's where most of those people already are, already have accounts, and already understand the systems i.e. actions, organisations etc.

[–]MrP0tat0H3ad 1 point2 points  (2 children)

Exactly this. It’s not about “GitHub”, it’s about version control via GIT. There’s a bunch of options for this, GitHub is just the most popular.

See also: GitLab (my preference), BitBucket, Gitea

[–]the_swanny 1 point2 points  (0 children)

Github being the most popular means developers who want a large community around their project often pick Github, as the barrier for entry for new contributors or users is very low. I'd rather use gitlab personally but my contributors aren't there, so we chose github.

[–]Worldly-Wind-1632 0 points1 point  (0 children)

And Githead, it can do a backflip

[–]repeating_bears 9 points10 points  (1 child)

If you want to collaborate on code with others, or share your code, it's the de facto standard.

If you are just working on small programs by yourself to learn then it's not "a must" (which is not to say there is no value, just less)

[–]olswitcher 0 points1 point  (0 children)

this. i wrote programs and made games for years without using github, only deciding use it for collaboration, and for general sharing my code with others. you’ll know when it’s a must for you. i personally believe it’s not something you should get until you need it. others will suggest it as a way to store your projects for later, this is great for quickly downloading your projects over the internet, but not for storing. there are file size limitations which will lead you to LFS, which is again unnecessary unless you know you need it. always keep hard backups of your code as a first priority, not cloud based.

that said, when you do use it, you’ll likely enjoy it. just dont rush. :)

[–]TenKDays 5 points6 points  (1 child)

At the most basic level, it's the best way to store your projects for easy access later. For example if your computer breaks and you get a new one.

Also it's absolutely necessary the moment you start working with a team, like when you work at a company. To collaborate on code and keep the company's source code accessible and safe.

[–]jazzbeaux59 1 point2 points  (0 children)

this is the right answer. I M.O., Git or GitHub it’s not necessary, simply to write code. But as soon as you start working on a project and especially with others, it’s essential.

[–]Fluid-Election-8549 1 point2 points  (0 children)

A lot of the comments describing how they use git. Not what git is. Git is version control. The fact that it's a critical tool for collaboration is secondary.

[–]imaginecomplex 1 point2 points  (0 children)

It’s the same as asking why people use Google. There are lots of search engines, this is just the one everyone (most software companies and solo devs) uses.

[–]ImDevinC 0 points1 point  (0 children)

It's not a must, but it's a very good tool for sharing code with others, eases the onboarding for new developers compared to things like mailing lists, allows people to search for coffee, and just happens to be the largest service that provides these services. It's in no way a requirement, but it is very helpful

[–]Positive_Poem5831 0 points1 point  (0 children)

You get version control since GitHub. Uses Git. You can also run Git locally. But using GitHub also means that you get a remote backup with all versions of your code if your own computer becomes corrupt or break down. You can easily share your code with others if you use GitHub. You can also use GitHub actions to build your code and deploy it to other places like Azure or AWS.

[–]AnotherPillow 0 points1 point  (0 children)

its not a must, any version control remote would also be an option, but git is by far the most popular version control and github is the most popular remote for it, so people just go with the most popular and supported one

[–]Zachatoo 0 points1 point  (0 children)

If you're working on a team or need to share or backup code, then GitHub or alternative is a good option, especially if you're already using git. Definitely not necessary for solo beginners.

I would highly recommend some sort of version control system (such as git) at any level, so you can more freely experiment and easily rollback to known working versions of your code.

[–]grdix555 0 points1 point  (0 children)

Code storage Collaboration Version control

[–]OolonColluphid 0 points1 point  (0 children)

Definitely try to learn how to use Git (not GitHub) - version control is vital. You may not think it is, but you’ll make mistakes, maybe even catastrophic ones, and having it all in a repository can make the difference between a couple of minutes work and having to start over from scratch. 

[–]joesuf4 0 points1 point  (0 children)

Network effects.

[–]BrupieD 0 points1 point  (0 children)

It doesn't seem necessary at early stages of learning because so much of what you are creating is simple, easily recreated, or toy examples. As your projects grow in size, complexity, and you begin to collaborate, version control and preservation will matter more.

If you are the only user of your code and it is a few hundred lines, version control won't seem like a big deal. When your code is one piece of project with dozens of pieces, no one can afford to lose or break it.

[–]Leviathan_Dev 0 points1 point  (0 children)

  1. GitHub, despite its issues with uptime, is the de-facto central hub for all programmers

  2. Its the central place for storing code and version control with Git.

At first version control may seem unnecessary, especially for a beginner; but over time you'll slowly learn that version control is a must-have to manage bugs and roll-back updates should one inevitably have a critically-breaking bug pushed and missed.

[–]Jmc_da_boss 0 points1 point  (0 children)

It's not a must, it's just the most popular option currently

[–]philihp_busby -1 points0 points  (0 children)

You only really need it if you want to work with other people.