GitHub Tutorial - Beginners

I’m trying to find a good video tutorial for using
GitHub with Windows. Looked on the GitHub site they
lean a little too much to Linux/Unix. Maybe I missed
something, so if you have a good one let me know.

Thanks

First, I assume you already know about source control theory. If you/students are coming from a position of not knowing at all what source control management is or why to use it, that’s a different issue than “I know how to use source control in general, how do I do the things I want to do with Git for Windows?” There is a Visual Studio Code extension that provides a nice visual for what happens in Git.

Echoing a bit. To levelset terminology:

“Git” is the name of the software which does software version control. Aside from the install process and a few nuances of filesystem, interacting with it is the same regardless of operating system.

“GitHub” is company which runs a website and server infrastructure which allows you to have a git repository saved remotely in a public-facing manner.

Git is fundamentally designed around command-line interaction. Many good GUI applications have been created as a layer on top of Git, to provide ease of interaction and visualization.

Given this description, can you describe a bit more precisely what you are looking to learn about?

It’s not necessarily *nix. Most of the git usage scenarios you’ll find use bash. If you install the windows git client from git-scm.org, you’ll get an option to install bash for windows. Once you have that, you’ll see much better alignment between git tutorials and the command line interaction.

Whether you use the command line or use an IDE, git certainly works well on windows, whether you’re hosting on GitHub or not.

Good Points. We are starting from scratch here. So what we need are tutorials on

  1. Version Control Concepts
  2. Git Version control concepts, how it implements version control
  3. Git integration with VSCode
  4. Creating a Repository in GitHub
  5. Connecting the VSCode instance to GitHub to download code
  6. Storing your code in GitHub by using Git

Again, thanks for the help

1 Like

Not a video, but here is the official FRC documentation

1 Like

Sweet. Ok.

To answer your questions very very quickly:

Version control is a way of tracking, archiving, merging, and otherwise coordinating changes to your codebase. It is definitely not a requirement for producing good software. It is however a powerful tool that, when used properly , can greatly streamline the development process of multiple people simultaneously editing a single codebase .

At the end of the day, the information it represents is “what lines of code changes, when, and by who”. This is something you could definitely keep track of manually, with pen and paper. Version control is just a tool that helps you do it more efficiently. It doesn’t do it for you though- proper process and care is still required.

Git is one particular tool to do version control.

I would definitely do some basic git learning first, as visual studio code’s integration isn’t anything special: it’s just running common git commands, and showing you what the results are in a GUI format. The nomenclature used is basically the same as command line git, so I think it’s useful to start with git itself.

Some links that may be helpful:

What version control is: https://www.atlassian.com/git/tutorials/what-is-version-control

Basic git mechanics: Codeacademy’s interactive git tutorial:

Git Flow: a common strategy for branching and tagging content, which clearly separates in-process development work from production-ready, well-tested work: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

The tutorials I linked above will cover the last three questions- there is not much special to linking GitHub itself. As long as you create your GitHub repo first, and always reference that repo when running commands that require a remote repo, you should be fine.

The biggest caveot I’ll give about github- it adds an extra permissions model on top of normal git, to prevent hooligans from going and mucking with your code. The system is described here: https://help.github.com/en/github/getting-started-with-github/access-permissions-on-github

Going over questions 5 and 6: In order to connect VSCode/your git repo to Github is pretty simple. You create a new empty github repo, and you go to your code. If you haven’t made a git repo yet, you can just simply run git init and initialize a repository. Then you’ll have to set your remote origin, which can be done with git remote set origin [your repo url]. After that, VSCode can push and pull to/from the Github repository.