4. Git Basics
Git is a version control system.
It allows you to keep track of the history of edits to your source files as well as maintain alternate versions and histories of those files in different
branches.
A branch is like an alternative history. A repository or repo is a database counting a set of branches and sometimes a working directory.
Branches and individual versions can be merged back together. Changes can be pushed/pulled to merge them between repositories.
This helps developers safely combine their changes when they have been working on parallel.
It also allows experimenting with new features that might not make it to the main version for a while.
Git was created originally by Linus Torvalds, the same developer who created the Linux kernel, to address some challenges with other previous
version control systems.
Today almost all open source software development is done via Git repositories or repos. And much private, commercial, and hobby
development is.
GitHub is a company that hosts git repos for others, public or private, and is an important part of many developers' portfolio now days.
6. Git Commands
git init - create a new repository in current directory
git status - show changes in workspace compared to repo
git clone - create new repo mirroring an existing one
git log - show revision history
git diff - show differences between working directory and repo branch
git branch - show branches in repo
git add - add file to staged changes
git commit - commit changes to change log (in local repo)
git push - send changes into remote repo
git pull - pull changes from remote repo
7. Git Crash Course Video
This one is longer (32 minutes) but covers much more.
https://www.youtube.com/watch?v=SWYqp7iY_Tc
10. Markdown
Markdown is a text based format intended to be easily edited or read directly without a special program,
while also providing enough structure it can be rendered into a pretty format as well.
This lets you easily edit things in your programming IDE but have them show up as pretty later.
This is also integrated into GitHub and GitLab for editing documentation in your repo easily.
Here is an example Markdown readme on GitHub from one of my grad school group projects:
● https://github.com/ranton256/cs510_ai_logo_generation
11. Markdown Example
Top level header
============
Smaller header
-------------------
This is a regular paragraph with just some random text in it.
This is *emphasized*. This is **strong emphasized or
bold**.
### Header 3
* this is a list item
* this is a second item
13. Assignments
Read this: https://www.atlassian.com/git/tutorials/what-is-version-control
Watch this again if needed: https://www.youtube.com/watch?v=SWYqp7iY_Tc
Do this tutorial: https://www.atlassian.com/git/tutorials/setting-up-a-repository
Create a git repo of your own with git init in your Linux server account.
Clone a repo you think is interesting from GitHub.com into your Linux server account and look at the
source code and the version history.
Make a Markdown text file with a text editor of your choice. VSCode is a good option if you don’t
have a favorite already.