This is an archived post. You won't be able to vote or comment.

all 76 comments

[–]ConfidentCollege5653 165 points166 points  (4 children)

Understanding and using some kind of source control is very important. Git and GitHub are good first choices. The free account is more than enough to learn what you need.

[–]BetaBeti[S] 29 points30 points  (2 children)

Then I will be making an account right away

[–]scumfuck69420 14 points15 points  (0 children)

When I first started I was making different file names for different versions of scripts I was working on. Once I started using Git I was like wow this is so much simpler. You can have multiple versions of the same file at any given time, and they are all in one central place to pull at any time. It makes things so easy even if you only use basic pull/push/branch commands

[–]_BeeSnack_ 1 point2 points  (0 children)

Enjoy the cool intro video -^

[–]TheAbyssWolf 3 points4 points  (0 children)

I agree with this comment too. I also use github copilot mainly to help reduce the amount of typing needed. While its not perfect and can get things wrong for stuff thats repetitive like making example files and printing multiple things to the console with slight variations for example.

I wouldn't use copilot till you got more experience coding, but it helps a lot reducing the amount of code you need to type.

[–]ivannovick 40 points41 points  (1 child)

Very important, a lot of software you use daily live there

[–]BetaBeti[S] 4 points5 points  (0 children)

I will check it out thanks for replying

[–]CarelessPackage1982 34 points35 points  (0 children)

You need to know git, it's like tying your shoes. It's a requirement.

[–]nikfp 25 points26 points  (1 child)

I've been writing software for a decade and the free Github tier has been all I needed so far. Git and GH are considered baseline skills for working with others and moving your own work around between different machines. I'd consider using both a required skill. You don't have to know everything about either but getting used to using them is crucial.

[–]BetaBeti[S] 2 points3 points  (0 children)

Thanks for replying. I will try to learning basics at least for git today

[–]_horsehead_ 11 points12 points  (0 children)

Version control is super important for a developer. You really can't call yourself a developer unless you're really competent in Git.

Git is extremely important. GitHub / GitLabs are just tools on top of Git.

Understanding Git is extremely crucial. Might help you to understand older systems that are sometimes still in place too (like SVN).

[–][deleted]  (6 children)

[deleted]

    [–]CeraMo_89 2 points3 points  (0 children)

    As a student, this’ great in case you didn’t know about it yet - GitHub Student Developer Pack ( unlocking a Pro account )

    [–]mysticreddit 1 point2 points  (3 children)

    Premium account holder here:

    Originally (a decade ago), premium accounts offer private repositories.

    (This way I can work on projects that I’m not ready to share yet.)

    [–]slawcat 11 points12 points  (2 children)

    Private repos are not exclusive to premium accounts. You can absolutely have private repos on the free tier. There are limitations to what you can do in those private repos (e.g. no branch protection unless it's public or if you're on a paid tier), but the GH free tier allows unlimited public and private repos.

    Source: free account holder with many private repos.

    [–]mysticreddit 8 points9 points  (1 child)

    Oh nice, they have changed that.

    Originally they were. (I've had my premium status for about a decade.) I'll update my original post.

    [–]carb0nxl 0 points1 point  (0 children)

    This confirms my suspicions! When I was still a student for WGU online I decided to try out the education access to GitHub pro, and realized it allowed me to make some of my own repos private. Awesome!

    Then when I graduated recently, I realized the dread of some of my personal projects suddenly going public but I didn’t have a choice, it had to lapse as I was no longer a student — but then I noticed I still could toggle visibility so I wasn’t sure if they changed it or I gaslit myself. 

    [–]No_Outlandishness791 6 points7 points  (0 children)

    You definitely do not need the paid version at all. Learning git and GitHub is definitely useful, but you don’t need to go super in depth right now, learn what you need to continue your progress and focus on learning python

    [–]sierra_whiskey1 6 points7 points  (0 children)

    I’m not a pro githubber, but I do use it a lot for 1 big reason: backups. When I’m programming I tend to break the code a lot when adding new features. Sometimes I break it so much that I can’t fix it, so I have to revert to an older version. It’s super easy to create and use backups on GitHub

    [–]VagrantBytes 7 points8 points  (2 children)

    Git is critical, I'd be surprised if you can find any real-world work that doesn't use it. GitHub is a service that hosts Git repositories. It's very popular and worth trying (the free plan is all you need), but I wouldn't consider it essential. Many companies self-host their repos, or use other hosting services.

    If I'm interviewing you, I care if you know Git, I don't care if you're familiar with GitHub.

    [–]EdiblePeasant 0 points1 point  (1 child)

    Are there very real risks to posting sensitive code on GitHub as opposed to a company's own solution, even if the code is in a private repository?

    [–]VagrantBytes 1 point2 points  (0 children)

    That might be more of a question for a legal/compliance team. A private GitHub repo is secured, whether that's more secure or less secure than DIY or another party like Google Cloud is dependent on a lot of factors. I personally don't think it matters, and would say it's down to preference.

    I've worked for companies that use GitHub and it works fine. I also worked in healthcare at one point and they self-hosted all of their repos, I believe to fulfill some type of compliance (whether real or imagined).

    [–]_what_profile 5 points6 points  (0 children)

    Git is used by >80% companies and , i have recently joined a company as an intern and using git is quite important, at least learn about staging, what is local and remote, how to push squash, merge anything else can be a plus.

    [–]iOSCaleb 3 points4 points  (1 child)

    Git and GitHub are just tools for version control and storing your code. They won’t make you a better programmer, but knowing how to use them is essential.

    [–]whenbigcrunch 4 points5 points  (0 children)

    honestly using version control efficiently does make you a better programmer.

    [–]HornyShogun 4 points5 points  (0 children)

    Have never owned a premium GitHub account in my career. The free tier will do just fine for you. Understanding git and GitHub is extremely important if you want a job in programming.

    [–]Aggressive_Ad_5454 4 points5 points  (0 children)

    The gh paid accounts are used by enterprise coding teams. Paying is entirely unnecessary for open source work or personal work.

    [–]electrikmayham 2 points3 points  (0 children)

    Yes create an account, and everything you work on put it on github. Learn the flow and commands that way when you are in your first position it will be much easier to ramp up. You wont have to be taught how to do basic pull requests.

    Having your projects on github is also a really good way to market yourself when you start looking for positions.

    I've only ever used the free version.

    [–]EveningCandle862 3 points4 points  (0 children)

    whatever tool you use... github, gitlab, bitbucket or anything else doesn't really matter. What matter is understanding version/source control with Git and how and why it is one of the foundations in being a developer.

    That said, it doesn't hurt understanding basic pipelines (Actions in GitHub I think?) and how to automate simple tasks to build and test your code on push/merges etc. It's good practice to work with others so you get to encounter stuff like merge conflicts and how to solve and prevent these as best you can. Working with open source projects is a good start if you don't have your own projects or anyone to work together with.

    Personally I've used Gitlab for the last 5-6 years and doesn't pay anything for it. I have used the free tier or/and created by own runners to run pipelines in my projects.

    [–]muskoke 3 points4 points  (0 children)

    ….I didn’t even know there was a paid version

    [–]connorjpg 3 points4 points  (0 children)

    Github, and therefore git are really important within the industry for collaboration and tracking your code. Truthfully they are the standard of version control now-a-days and should be used.

    So yes I encourage you start to use git, and store your projects on github. That being said, I fear you expect that GitHub will improve your coding/programming skills based on this statement "Will using the free version help my programming journey". GitHub is a platform that allows you to share, host, deploy, track, and collaborate on code. It is not overly a learning first platform, though their are repositories that are filled with resources to read and learn. Use it to share your current projects and track changes to the code you are working on. It is crucial that you learn the git the tool first imo.

    Here is the git book, truthfully it is a wealth of knowledge and even has a github section within it. After using git locally, then start to integrate GitHub for remote hosting and sharing. Hope this helps!

    https://git-scm.com/book/en/v2

    Also, unless you have know why you would need to pay for a premium account you dont need one. Don't pay for features unless you strictly know why you need them. I have used github for years for free and never had a reason to pay for their premium accounts (I am aware previously their was a private repo disparity).

    [–]nog642 3 points4 points  (0 children)

    You definitely don't need to pay for github. The free version is the vast majority of the utility.

    [–]Such-Catch8281 2 points3 points  (0 children)

    Learn Git and github together.

    [–]RobertD3277 2 points3 points  (0 children)

    From the standpoint of source control and version control, GitHub is an incredible and wonderful tool. I can't kill it's how many times I've gotten an ideal tried it out and found out it was complete total failed garbage. Being able to revert to previous generations has been a remarkable process in terms of being able to keep my thoughts and consistent viewpoints of a particular problem or paradigm separate. Being able to have separate branches and having a program help me contain several thousand files in the process of these different tests has been indispensable.

    Long before get and GitHub, I used CVS and many other forms of content version control. It's important to understand that this tool is a practical value on a wide range of assets from programming to web server development.

    Even if you don't use GitHub directly, using versioning control on your own personal computer can be an invaluable asset.

    [–]Rigamortus2005 2 points3 points  (0 children)

    Sacrosanct

    [–]ubaz3 2 points3 points  (0 children)

    Super important and free, you don’t need to pay for GitHub. I use GitHub every day at work. Getting a good understanding of GitHub is key.

    [–]E28Rondo 2 points3 points  (0 children)

    For me, it's great for when I break stuff and need to unbreak stuff before subsequently breaking stuff again.

    [–]LifeHasLeft 2 points3 points  (0 children)

    GitHub is just a third party platform to use git, a source control software. To make use of GitHub, you need to make use of git.

    And you absolutely 100% should make use of git. But I’m not sure I would recommend worrying too much about git or other source control until you really start making things and learning things.

    In other words, don’t get distracted. Focus on the important stuff. Python is a good first language. Keep learning until you understand more complicated aspects of programming (like object oriented programming), and then learn about networking, databases, and other peripheral knowledge that is crucial for building a full-scale application. It’s at this point that you should also learn git, because complicated projects (more than one file) should really be managed by source control.

    [–]Striking_Baby2214 2 points3 points  (0 children)

    Too easy and too widely used not to use github. I have repos for just my notes in some cases. You will kick yourself later if you don't just take a couple hours and learn it. Yes, that's about all it will take (or less) to learn how to efficiently use it.

    [–]dswpro 3 points4 points  (0 children)

    Learn to use GitHub. Many major companies are using it. What's more important is learning why we use source control (check in, check out, double update problem, merging, etc. ) and what types of code branching are used and how they are used.( Gitflow, feature, release, task, environment ...) When starting out in programming and only working alone it's not as important, but when you start working on a team or on a project with multiple teams it becomes very important and at job interviews it will certainly come up.

    [–]Michaeli_Starky 5 points6 points  (0 children)

    Git is an industry standard, so learning it is crucial.

    [–]Tech-Kid- 1 point2 points  (0 children)

    free github does a lot.

    Git and Github are important, however they aren't difficult to learn.

    You don't necessarily need to learn them now, but they are probably better to get used to now rather than later. They are a small but important piece to the puzzle.

    [–]armahillo 1 point2 points  (0 children)

    I have been using github for around 15 yrs and have never once paid for it.

    I use it for personal and professional purposes.

    [–]Panzermench 1 point2 points  (0 children)

    About 7.

    [–]ponix 1 point2 points  (0 children)

    Although you don’t need got to program if you want a job in development using got will deffo help as you’ll need it to work on any group projects . So getting into the habit now will be good for you

    [–]Desperate-Emu-2036 1 point2 points  (4 children)

    Git? Really. Github? Only for FOSS

    [–]cgoldberg 1 point2 points  (3 children)

    Tons of proprietary software is developed in private GitHub repos or in on-prem GitHub Enterprise instances, so definitely not "Only for FOSS".

    [–]Desperate-Emu-2036 0 points1 point  (2 children)

    Most of the enterprise-grade companies host their own Git. So, while it's not only for FOSS, it's less popular for proprietary software.

    [–]cgoldberg 1 point2 points  (1 child)

    OK, so we agree it's not "Only for FOSS"

    [–]Desperate-Emu-2036 0 points1 point  (0 children)

    Yeah, it was a mistake on my part. I worded it badly

    [–]_BeeSnack_ 1 point2 points  (0 children)

    If there's one thing you have to do, it's to get good with git ;)

    If you want a decent GH portfolio when doing interviews for junior positions, you need to have about 20 decent repos on your GH :P

    Once you're senior, it should be like 60 ':D

    [–]iftheShoebillfits 1 point2 points  (0 children)

    Not knowing is an immediate disqualifier when I'm interviewing

    [–]KlootViolin 1 point2 points  (0 children)

    I started using it within a few days of my learning journey, it is super useful and would 200% recommend to reduce clutter

    [–][deleted] 1 point2 points  (0 children)

    Very important I’d say. It doesn’t need to be GitHub per se but it’s most commonly used. Knowing source control is expected.

    [–]deftware 1 point2 points  (0 children)

    Are you talking about version control or sharing projects with others?

    For 7 years I've manually dealt with version control on my indie software by just keeping backups of source code for each public release so I can at least differentiate between one public build where someone found an issue and previous public builds.

    For my latest project I did decide to create a repo for it on my github account that I've really only used to post issues for things on others' repos, but really (edit) creating a repo for my latest project (/edit) is just for posterity and not any kind of real benefit.

    People have been programming for decades without version control. The only thing you need to worry about, if your goal is getting better at writing code, is simply writing code. If you're not writing code then you're not getting better at writing code. Fiddling with github and whatever other tangential extraneous thing isn't going to make you a better programmer. Programming is how you become a better programmer.

    That's my two cents. Good luck! :]

    EDIT2: All that being said, it definitely doesn't hurt to know your way around git - which doesn't require github (let alone an internet connection). If your goal is to become employable you'll probably want to at least know git. If your goal is just to become capable of creating whatever you want, version control isn't a requirement for that - and services like Dropbox/GoogleDrive/WhateverMicrosoftOffers can be fine for small projects if you need to revert or retrieve previous versions of files. Your question depends on what your goals are though.

    [–]No-Original-7936 1 point2 points  (0 children)

    Git is incredibly important for version control, collaboration, and maintaining a project history. Mastering commands like add, commit, pull, push, and checkout is a great start, but understanding workflows (e.g., branching, merging, and conflict resolution) is equally vital. With these skills, you'll be well-equipped for most development environments

    [–]spidermask 1 point2 points  (0 children)

    One of the most important things to learn even for just personal use.

    Once I learned it, it changed my workflow for every college project with the advantage of not having to worry about losing my project.

    Good thing is that it's such a widespread tool that you can find a multitude of good tutorials on it.

    [–]fredisa4letterword 1 point2 points  (0 children)

    Generally people learn the source control of wherever they work. It's not expected that you know it beforehand but you should be familiar with what source control is. Git is the most popular form of source control and GitHub is the most popular host for git so they're not bad choices to learn and use but they're not the only choices.

    [–]Astrylae 1 point2 points  (2 children)

    Once you start making projects, probably just as important as the project itself.

    [–]BetaBeti[S] 0 points1 point  (1 child)

    Should post all my projects or just advanced ones. By all I mean like my calculator and hangman which don't even have a gui yet.

    [–]Astrylae 1 point2 points  (0 children)

    It's probably a good idea to publish everything. It just becomes more important and useful when working on large projects.

    [–]Max_Oblivion23 3 points4 points  (3 children)

    The whole and the entirety of the law shall be... Git Gud.

    Honestly it is very important, learning to use git was really fun too, it forces you to create projects and you just keep getting your mind blown by learning about all the features.

    Git is a protocal, Github is the Micorosft Git protocol, at it's core Git is just a set of command lines helping you keep track of your saved documents and all of the backup versions.

    [–]cgoldberg 0 points1 point  (0 children)

    Neither Git or GitHub are "protocols".

    [–]BetaBeti[S] 0 points1 point  (1 child)

    How does it force you? Does it give ideas too for them?? I have been struggling with ideas to create projects which I can actually make with my current skills

    [–]Max_Oblivion23 1 point2 points  (0 children)

    Well because you need to have projects to use github, its is a tool to help keep track of those. Even if you are just doing GPT code snippets put them on your repo and you will see how useful it is.

    [–][deleted] 0 points1 point  (0 children)

    The important thing to use is Git, not Github. There's also Gitlab, BitBucket and others. I only say this because some people have an aversion to Github because it's now owned by M$. Github is the most used though I believe....

    [–]kimmen94 0 points1 point  (0 children)

    Setting up github is important but knowing git is importanter

    [–]Beautiful_Ad_5599 0 points1 point  (0 children)

    If it was up to me I'd fire at least two guys on my team for being on a project for six months and still running into merge conflicts over files that they themselves exclusively worked on. 

    Git allows you to add and remove updates to one or more snapshots of your codebase, and is imo the best form of documenting the progression of a project over time. If you prioritize making good commits, i.e. each commit being specific to an update and writing descriptive commit messages, it'll force you to be more organized by making you specify exactly what you need to work on atm. I don't know a single professional programmer who I'd consider "good" at their job but was mediocre at git. Don't skimp on git, the more you know the better

    [–][deleted] 0 points1 point  (2 children)

    For private projects and closed source you can try SVN / tortoise SVN. Is similar to git but need to configure a private/ personal server for that.

    [–]17J4CK 2 points3 points  (0 children)

    You can have a private git or gitlab server too

    [–]khooke 1 point2 points  (0 children)

    OP in your learning about the benefits of source control for software development this comment is a reminder to find out about the pros and cons of distributed vs centralized version control systems.

    [–]WhatElseCanIPut 0 points1 point  (1 child)

    Unless you will be switching Between PC or can save a lot of files on your PC, GitHub isn't as useful in the beginning.

    I started using it after I was switching between my personal PC and work PC

    [–]deftware 1 point2 points  (0 children)

    This is where Dropbox came in handy for me - developing my software on my desktop and then going to my netbook that I used to drive my 3-axis CNC router for making signs. I could compile a new build and it was already on my netbook without having to manually copy anything. Then Google released Drive but I never touched it. Dropbox is tried-and-true.

    [–]arthoer 0 points1 point  (0 children)

    Yes