This repo was created to share some basic GitHub lingo and website layout, while practicing some fundamental tasks in GitHub/GitHub Desktop. I've added resources at the end for anyone looking for more info than we were able to cover.
Here are some slides to go along with lab meeting that contains some key definitions (also shown below) and a bit of an activity.
βοΈ Cloning a repository
βοΈ Pulling from the remote repository
βοΈ Writing a commit message and committing a change to a text file
βοΈ Adding files to GitHub
βοΈ Pushing changes from the local to the remote repository
βοΈ Merging changes and resolving merge conflicts
βοΈ Branching and pull request to merge into main branch
π£ FYI, what you're reading is a README file written in Markdown. These can be really useful for typing out general repository layout/ground rules, quick guides, intro pages, etc. They are especially important for documentation in public and highly collaborative repositories. In a perfect world, every repository (and sometimes directories) should have at least a simple README file describing the contents/purpose of that repo/dir.
π Several definitions were taken directly from the GitHub glossary also linked below.
git
: Git is an open source program for tracking changes in text files. It was written by the author of the Linux operating system, and is the core technology that GitHub, the social and user interface, is built on top of.
repository
: A repository (or "repo") is the most basic element of GitHub. They're easiest to imagine as a project's folder (public or private).
directory
: A folder containing one or more files or folders
branch
: Parallel version of a repository; allows you to work freely
remote
: Version of a repository or branch that is hosted on a server. Remote versions can be connected to local clones so that changes can be synced.
clone
: Copy of the remote repository on your local computer (or the act of making that copy)
fork
: A fork is a personal copy of another user's repository that lives on your account. Forks allow you to freely make changes to a project without affecting the original upstream repository. You can also open a pull request in the upstream repository and keep your fork synced with the latest changes since both repositories are still connected.
merge
: Merging takes the changes from one branch (in the same repository or from a fork), and applies them into another. This often happens as a "pull request" (which can be thought of as a request to merge), or via the command line.
merge conflict
: Merge conflicts happen when people make different changes to the same line of the same file, or when one person edits a file and another person deletes the same file. The merge conflict must be resolved before you can merge the branches.
resolve
: The action of fixing up manually what a failed automatic merge left behind.
pull request
: Pull requests are proposed changes to a repository submitted by a user and accepted or rejected by a repository's collaborators.
commit
: A commit, or "revision", is an individual change to a file (or set of files).
When you make a commit to save your work, Git creates a unique ID (a.k.a. the "SHA" or "hash") that allows you to keep record of the specific changes committed along with who made them and when.
commit message
: Short, descriptive text that accompanies a commit and communicates the change the commit is introducing (description of what changes were made).
ssh key
: SSH keys are a way to identify yourself to an online server, using an encrypted message. It's as if your computer has its own unique password to another service.
push
: To push means to send your committed changes to a remote repository on GitHub.com. For instance, if you change something locally, you can push those changes so that others may access them.
pull
: Pull refers to when you are fetching in changes and merging them. For instance, if someone has edited the remote file you're both working on, you'll want to pull in those changes to your local copy so that it's up to date.
fetch
: Checks if there are any changes in GitHub online not yet in local computer. When you use git fetch, you're adding changes from the remote repository to your local working branch without committing them. Unlike git pull, fetching allows you to review changes before committing them to your local branch.
diff
: A diff is the difference in changes between two commits, or saved changes. The diff will visually describe what was added or removed from a file since its last commit.