Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: update git recap #1335

Merged
merged 1 commit into from
Nov 16, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 32 additions & 31 deletions stage1/modules/git-recap/README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,56 @@
# [Stage#1.](../../) Git basics reinforcement
# [Stage#1.](../../) Git Basics Reinforcement

## Module Overview

This module is designed to reinforce and deepen students' understanding of Git, a fundamental tool in modern software development. It focuses on consolidating existing knowledge while introducing more advanced Git concepts and practical skills. Students will explore Git's internal mechanisms, learn how to manage changes effectively, and utilize .gitignore for better project management.

## In this module students should:

1. Consolidate knowledge in using Git
2. Learn:

- Git Concepts and Architecture
- The three trees
- Hash values (SHA-1)
- The HEAD pointer
- Undo Changes
- Undo working directory changes
- Unstage files
- Amend commits
- Retrieve old versions
- Revert a commit
- Remove untracked files
- Ignore Files
- Use .gitignore files
- Ideas on what to ignore
- Globally ignore files
- Ignore tracked files
- Track empty directories
1. **Consolidate Knowledge in Using Git**:

- Enhance understanding and proficiency in daily Git usage.

2. **Learn Advanced Git Concepts**:
- **Git Concepts and Architecture**:
- Understand the three trees.
- Explore hash values (SHA-1).
- Learn about the HEAD pointer.
- **Undo Changes**:
- Techniques to undo changes in the working directory.
- Unstage files, amend commits, and retrieve old versions.
- Revert commits and remove untracked files.
- **Ignore Files**:
- Effective use of `.gitignore` files.
- Determine what files to ignore.
- Globally ignore files and track empty directories.

## Approximate module completion time:

4 hours

## Theory

You need to read:
Recommended reading includes:

1. [Git refs: An overview](https://www.atlassian.com/git/tutorials/refs-and-the-reflog)
1. [Git Refs: An Overview](https://www.atlassian.com/git/tutorials/refs-and-the-reflog)
2. [Undoing Commits & Changes](https://www.atlassian.com/git/tutorials/undoing-changes)
3. [Resetting, checking out & reverting](https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting)
4. [Git ignore](https://www.atlassian.com/git/tutorials/saving-changes/gitignore)
3. [Resetting, Checking Out & Reverting](https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting)
4. [Understanding Git Ignore](https://www.atlassian.com/git/tutorials/saving-changes/gitignore)

If you'd like to dive deeper into the topic, you could read:
For deeper understanding:

1. [What is Git?](https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F)
2. [Rewriting History](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History)
3. [Reset Demystified](https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified)
4. [How exactly Ignore Works](https://wenijinew.medium.com/git-how-exactly-ignore-works-47c85f0dd190)
4. [How Exactly Ignore Works](https://wenijinew.medium.com/git-how-exactly-ignore-works-47c85f0dd190)

## Practice

You need to take the "Git & GitHub #2" test in the RS APP > Auto Test
You need to take the "[St1] Git & GitHub #2" test in the RS APP > Auto Test

## Additional materials
## Additional Materials

1. ["Git How To" guided tour](https://githowto.com/)
1. ["Git How To" Guided Tour](https://githowto.com/)
2. [Synopsis (RU)](https://www.evernote.com/shard/s368/client/snv?noteGuid=b1359883-2b9e-419a-b9de-dd959fc05f05&noteKey=97c0f19486d851b3&sn=https%3A%2F%2Fwww.evernote.com%2Fshard%2Fs368%2Fsh%2Fb1359883-2b9e-419a-b9de-dd959fc05f05%2F97c0f19486d851b3&title=Git)
3. [Interactive course](https://learngitbranching.js.org/?locale=en_EN)
3. [Interactive Course](https://learngitbranching.js.org/?locale=en_EN)
4. [GitHub Minesweeper](https://profy.dev/project/github-minesweeper)
Loading