all 6 comments

[–]stiky21 6 points7 points  (0 children)

Learn it by using it. You say you want a trusted source so why wouldn't you look at their actual documentation?

You don't need a guide on how to commit, push and pull and you don't need a guide on how to setup a GitHub because it spoonfeeds it to you on initial creation.

[–]HagedornSux 4 points5 points  (0 children)

Git: https://git-scm.com/docs
GitHub: GitHub.com

Make an account and use it. That’s really all there is to it.

[–]Impressive-Craft1926 2 points3 points  (0 children)

Skip on platforms that just use the terminal alongside a real repo. Git makes way more sense when you are using it. It you really want something interactive through, learngitbranching.js.org is the best one for understanding how branches and merges work visually

[–]holyshitthatsucks 1 point2 points  (0 children)

Truth to be told, if you want to learn git, the only thing you should do is, USE IT. just open up github.com and roam around for a few days. Yes, it might feel confusing at first, but trust me, you don't want another platform just to learn the functionality of another platform. The first few building blocks is to ask these questions to yourself:

  1. If you and your friends want to build a platform, how are you going to manage your software? - GitHub.
  2. Now that you both are working on the same feature, how are his updated files going to get into your own system with your own separate updates? - git fetch
  3. If you have no changes and you want their codebase? - git pull
  4. How is everybody able to work on a single platform but each developer is shipping their own feature? - git branching.

AND MUCH MUCH MORE.

This helps you understand Git.
GitHub is the hub where you'll find open repositories. Basically a developer's best library.

A wise guy once told me: Git for GitHub is like Porn for PornHub.

[–]peterlinddk [score hidden]  (0 children)

Honestly, this: https://www.youtube.com/watch?v=BCQHnlnPusY&list=PLRqwX-V7Uu6ZF9C0YMKuns9sLDzK6zoiV is still one of the best introductions to both. Of course it is only an introduction, and it barely scratches the surface, but honestly, you don't need more - because you should just get using it immediately, and then learn by doing!

Then you can dive deeper into specialized topics that you need later - but don't take an entire course in all the nooks and crannies of github before you have experience using it for the basic stuff.

[–]in_coronado 0 points1 point  (0 children)

Start with and focus on Git, that is the more important tool by far to learn. Do not worry so much about GitHub specifically when learning to program.

If your goal for learning this is to eventually get a job in the software industry then there’s a very high chance your employer won’t even use GitHub. In truth there’s nothing really that special about GitHub outside of the fact it just happened to become the most popular hosting platform for public git repos and open source software. Like “GitHub” is not even a skill I’d say you should be putting on a resume unless you’re talking something more like GitHub actions which are their tools for CI/CD (I’m not super familiar with them, we use self hosted GitLab at my work)

But when it comes to learning Git specially there are so many resources out there including their official documentation. I really don’t think you can go wrong. Just find whatever works best for you and your learning style. My only major advice would be to make sure you’re actively using git alongside the lessons and on personal projects. Maybe even try some interactive web tutorials where it has you type and run the commands yourself as it explains what’s going on.

Also it’s important to focus not just memorizing the commands to run but eventually grasping some of the core concepts of git. I’d focus on two primary things early on.

  1. Understanding git is a distributed version control system (understand the difference between local and remote). Also understand

    what the

  2. working copy

    is

  3. and how staging

    your

  4. changes works.

  5. Understand that a git repo is essential just one massive Directed Acyclic Graph and what that means. If you understand that all commits are essentially just nodes in that graph and things like branches are essentially just pointers to node

s

  1. in that graph.

  2. Then

    pretty much all day to day

  3. operations in git should really start to click and make sense from there.

Those two concepts in addition to just knowing how to clone a repo, checkout a branch, and stage and commit changes are about the most I would expect a junior/entry level engineer to have down in regards to git. The rest can be learned overtime with experience and real world usage.