Chapter 5½ - Git. #
The above link does a better job of covering the vast majority of what I’d say than I could hope to put here. Just check it out. But do come back here!
Oh, hai! Welcome back.
So, a lot of people conflate Git and Github, the largest git cloud service on the internet. This isn’t totally without out reason: Github is actually super nice to use, and is often the only way a lot of people use git. For better or worse, you’ll probably want to know how to use it and use it well.
One of the first things you
should have to do when using Github is setup authentication, that is a method for logging in from the command line so that you can push your changes in your code to Github’s servers. For security reasons, you can’t just use a password (This is a good thing) and instead need to setup key based authentication.
I’m going to save the nitty gritty about how public-private key based authentication works for the Security & Exploitation chapter, but for now what you need to know is having a key pair will let you securely access git and ssh services on various servers, so we need to get keys setup.
learngitbranching.js.org (more than just branching)
[TODO] Show how to setup SSH keys for Git
After you have a key generated, you’ll need to add the public key to github,
you may need to change existing repo to use a git based origin rather than an https one:
[TODO] show graphical git tools
http://cong.tools (Windows only)
https://gitextensions.github.io (Windows only)
https://tortoisegit.org/download/ (Windows only)
[TODO] comparison of Bit, Git, GithubCLI
git log --all --graph --decorate --oneline and adding it to the gitconfig
[TODO] git diff
[TODO] Git on not-github, diy hosting
[TODO] Files Git works with
[TODO] Not commiting private info to Git
Notes on GitHub and competition #
generated using https://github.com/ryo-ma/github-profile-trophy, the above are the stats on my github profile
ahh, much better. Made using https://github.com/gelstudios/gitfiti, inspired by someone else that wrote the same thing, but I can’t find the original.
Other Version Control Systems #
Git is by far the most used VCS out there. If you want to use something else I encourage you to try it and learn it, but realize if the point is to work with others it might be a pain