- Review sections 1-4 (Introduction, CLI Tutorial, Install, Git Tutorial) of Git & Github
- Complete each task below, creating files and adding content inside the Completions table when prompted: ✏️
- After you finish, celebrate your Git proficiency! 🙌
- RTM - Sometimes I give the command you need and sometimes you have to read the documentation to find it.
- Details - Follow the instructions.
- Classes - This milestone is made to use with multiple classes; insert your own class name where you see
<your-class-name-here>
(e.g.critical-web-design
)
Markdown is a lightweight markup language used to create rich text.
- It has a simple syntax similar to HTML
- It is the standard language for formatting README files (what you are currently viewing!)
- Files use the
.md
extension and can be edited with any plain text editor (e.g. VS Code). - Preview using the VS Code or the Markdown Viewer
Markdown | HTML | Rendered Output |
---|---|---|
[link](https://davidson.edu) |
<a href="https://davidson.edu">link</a> |
link |
**bold text** |
<b>bold text</b> |
bold text |
*italicized text* |
<i>italicized text</i> |
italicized text |
`code` |
<code>code</code> |
code |
![text](assets/img/icon.png) |
<img alt="text" src="assets/img/icon.png"> |
Now you know basic Markdown! 🎉 The following instructions will help you learn Git, editing this .md
file in the process. Feel free to check your syntax in the github markdown cheatsheet.
Other Markdown tools
Create a Github account and make your first commit on Github.com
- Create a Github account
- Fork this learn-git-milestones repository (click the Fork button, top right).
- ✏️ Edit this
README.md
file (click the pencil icon on the Github.com page) and add your 1st favorite emoji to the Completions table, in the Completed column in appropriate row in the completions, below. - Commit changes to README.md to the
main
branch with the messagecommit #1 from Github.com
. - ✏️ Use Markdown documentation to add a link in completions. The link text should be the same as the commit message, and the url should point to the Github.com page showing the above commit.
- ✏️ Tables can be a little tricky in Markdown. Find a good link explaining how to use markdown tables. Paste the link in the Completions table.
- View the commit history and confirm your edits
Install your development environment
- Complete the command line crash course
- Install Git on your machine (via)
Windows
- Install Git for Windows (includes Git BASH, its own version of the bash shell)
Mac
- Install the homebrew package manager (confirm "yes" if asked to install Command Line Developer Tools)
- Install git using Homebrew
brew install git
(unless you are upgrading?)
- When you first install or start using Git, verify it is installed by typing
git
on the command line and hitting enter. This displays a help file with a list of possible commands.- ✏️ What does
log
do? Add your answer to completions.
- ✏️ What does
- Then you should update the configuration. Add your name and email (replace with your information and press return after each line)
git config --global user.name "Jane Doe"
git config --global user.email janedoe@example.com
- Set the default branch to main
git config --global init.defaultBranch main
- Set pull to merge (not rebase)
git config --global pull.rebase false
- Confirm your global settings worked with either of these 1
# show contents of global config
cat ~/.gitconfig
# or show settings and location of each config file (system, global, local)
git config --list --show-origin
Perform a basic Git workflow using Github.com, the command line, Github Desktop, and Git in a preferred text editor (e.g. VS Code). These four different interfaces will give you practice and help you understand Git better. You've already forked and made a commit on Github.com so let's move to Github Desktop ...
- Install a source-code editor (e.g. VS Code) on your machine
- In VS Code connect your Github account
- Install Github Desktop
- Connect your Github account in Github Desktop
- In Github Desktop, clone the fork (you made above) learn-git-milestones ...
- File > Clone Repository > Github.com and select it ...
- Local Path: Click "Choose" and add a new folder on your computer. This will be the base folder for your work in this class (e.g.
critical-web-design
,game-development
) - Click "Clone" to make a local copy
- Open the repo in VS Code: Repository > Open in VS Code (see preferences to change your editor)
- ✏️ In VS Code, edit this README file and add your 2nd favorite emoji to completions.
- In Github Desktop, view/confirm your edits to the README file on the Changes tab
- ✏️ Commit your changes directly to the main branch with the message
commit #2 from Github Desktop
. - Find a link to the above commit on Github.com and use VS Code to add it to completions. Commit your change.
- Click Push origin to push your new commit to remote repo
- Confirm the changes to the README file were pushed: Choose Repository > View on Github
- Click on the README file and then click on History to see the history of this file
You should have a basic familiarity with the command line interface (CLI) to install Git. Some folks use the CLI as their default tool for editing and publishing source code, but Github Desktop makes it much easier.
- If you haven't yet, complete the command line crash course
- In Github Desktop, with the learn-git-milestones repo you cloned above selected, click Repository > Open in Terminal ("Bash" in Windows?)
- List files in this directory:
ls
- List files in this directory, including hidden:
ls -la
- Confirm the existence of the
.git
directory (where Git versions and config are stored) - View your current directory and copy the full path:
pwd
- Open this README file in VS Code and paste that path in completions.
- Confirm your name and email is correct in the Git config
- View the status of your repo:
git status
- View the changed files of your repo:
git diff
- Add all changed files to the staging area
git add .
- View the status of your repo
git status
to confirm it has been staged - ✏️ Commit your changes with the message
commit #3 from CLI
. Add a link to this commit to completions. - Use
git push
to push those changes to your remote repo
You've used most of these already through a GUI (e.g. git status
, git add
, git commit
, git push
) ...
- In Github Desktop, open this repo learn-git-milestones in VS Code: Repository > Open in VS Code
- ✏️ In VS Code, edit this README file and add your 3rd favorite emoji to completions.
- ✏️ Create a new file
hello.txt
, add some text and save it. - Display the Git panel (click the small Git button at the bottom right).
- Select on your file(s) in Unstaged changes and confirm your changes match what you expect to see
- Double click on each file with changes to stage them
- ✏️ Commit your changes directly to the main branch with the message
commit #4 from VS Code
. Add a link to this commit to completions.
- ✏️ In Github Desktop, create a new repository with the name:
first-website
- Make sure the repository is public not private
- Local Path: Click "Choose" and create a new folder
first-website
inside the<your-class-name-here>
folder you made above - Click Create Repository
- This should now be your class folder's directory structure.
<your-class-name-here>
|-- first-website
|-- learn-git-milestones
- Open your new repository in VS Code (with Github Desktop or drag the
first-website
project folder onto the VS Code icon in your dock) - ✏️ Add a README file:
README.md
- ✏️ In the README write your name and the date
- ✏️ Use some Markdown tags
- ✏️ Commit your changes and add a link to this repo to completions.
Github Pages is a free and easy way to host a website from your repository.
- ✏️ Create a file called
index.html
in your new repo and add the following code
<!DOCTYPE html>
<html>
<head>
<title>My first github.io website</title>
</head>
<body>
<h1>Hello world!</h1>
<p>🙌</p>
</body>
</html>
- On Github.com, go to your repo > Settings > Pages
- Select the main branch source and click save
- Do not use a theme. Start from scratch
- Visit your project site at http://username.github.io/first-website
- Update your project, push a new commit, and confirm your updates (note: deployments sometimes take a bit)
- ✏️ Paste this link to completions.
Now that we have basic Git commands out of the way use Git to create and turn in your assignment ...
- Complete all of the items on this README, making sure all the rows in the "Completed" column contain your information below.
- Test your file(s) in a web browser
- Commit and push the files to Github
- Paste the github.io link into the appropriate Moodle forum
Item # | Description | Completed |
---|---|---|
1a | 1st Favorite emoji | 😈 |
1b | Link to commit #1 from Github.com |
commit #1 from Github.com |
1c | Link to markdown tables docs | Link to markdown tables doc |
1d | What does log do? |
Shows commit logs |
2a | 2nd Favorite emoji | 😱 |
2b | Link to commit #2 from Github Desktop |
commit #2 from Github Desktop |
2c | Full path to your working directory | /Users/tyleryandt/Desktop/DIG245/Assignments/learn-git-milestones |
2d | Link to commit #3 from CLI |
commit #3 from CLI |
2e | 3rd Favorite emoji | 🥰 |
2f | Link to commit #4 from VS Code |
commit #4 from VS Code |
3a | Link to first-website github.com repo page |
first-website repo page |
4a | Link to first-website github.io "project site" |
first website project site |
Here are some popular tutorials/guides. You should still look for other ones that you might like better!
- The class Git & Github lectures
- Github Desktop Documentation
- Github Cheatsheet HTML and PDF
- Github Learning Lab which contains tutorials like Introduction to Github and others
- View forks of this repo http://gitpop2.herokuapp.com/omundy/learn-git-milestones
Thanks to Jesse Farmer for inspiring this milestone assignment.