Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alextkdev/practicle_git_app
This game is designed for learning and practicing Git commands through an interactive approach. The project is created using the Kivy framework for developing the graphical user interface.
https://github.com/alextkdev/practicle_git_app
game game-development git
Last synced: about 1 month ago
JSON representation
This game is designed for learning and practicing Git commands through an interactive approach. The project is created using the Kivy framework for developing the graphical user interface.
- Host: GitHub
- URL: https://github.com/alextkdev/practicle_git_app
- Owner: AlexTkDev
- Created: 2024-06-15T13:02:14.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-12-13T17:20:28.000Z (2 months ago)
- Last Synced: 2024-12-13T18:26:59.636Z (2 months ago)
- Topics: game, game-development, git
- Language: Python
- Homepage:
- Size: 33.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Git Learning Game
This game is designed for learning and practicing Git commands through an interactive approach. The project is created using the Kivy framework for developing the graphical user interface.
## Features
- Interactive GUI for learning Git commands.
- Different difficulty levels for missions.
- Hints for incorrect answers.
- Comprehensive coverage of basic Git commands.## Installation
To install the necessary dependencies and run the game, follow these steps:
1. Clone the repository:
```bash
git clone https://github.com/AlexTkDev/practicle_GIT_app.gitcd practicle_GIT_app
```2. Create and activate a virtual environment:
```bash
python -m venv venv
source venv/bin/activate # For Unixvenv\Scripts\activate # For Windows
```3. Install the dependencies:
```bash
pip install -r requirements.txt
```## Running the Game
To start the game, use the following command:
```bash
python main.py
```## Project Structure
- `main.py` - The main file to run the application.
- `requirements.txt` - File with project dependencies.
- `README.md` - Project documentation.## Missions and Commands
### Missions
Missions are divided into three difficulty levels:
#### Easy
- Initializing a new repository
- Adding a file to be tracked
- Viewing the repository status
- Creating a commit with a message
- Viewing commit history
- Creating a new branch and switching to it#### Medium
- Cloning a repository
- Adding changes and creating a commit
- Switching branches
- Viewing differences between commits
- Stashing and applying changes
- Creating a tag for a commit
- Adding a remote repository
- Fetching changes from a remote repository#### Hard
- Pushing changes to a remote repository
- Fetching and merging changes from a remote repository
- Creating a new branch, switching to it, and merging changes
- Cherry-picking commits onto another branch
- Reverting changes to the last commit
- Reverting the last commit
- Viewing commit details by ID
- Viewing commit history in one line
- Setting user name and email### Commands
Complete list of commands used in the game:
- `git init` - Creates a new repository.
- `git clone ` - Clones an existing repository.
- `git add ` - Adds files to the next commit.
- `git commit -m 'message'` - Records changes with a comment.
- `git push` - Pushes commits to a remote repository.
- `git pull` - Fetches and merges changes from a remote repository.
- `git status` - Shows the status of changed files.
- `git log` - Shows commit history.
- `git branch` - Manages branches in the repository.
- `git merge ` - Merges changes from a branch.
- `git checkout ` - Switches to a branch.
- `git checkout -b ` - Creates a new branch and switches to it.
- `git diff` - Shows differences between commits.
- `git rebase ` - Cherry-picks commits onto another branch.
- `git stash` - Temporarily saves changes.
- `git stash apply` - Applies stashed changes.
- `git tag ` - Creates tags for commits.
- `git remote add ` - Adds a remote repository.
- `git fetch ` - Fetches changes from a remote repository.
- `git config --global user.name '[name]'` - Sets the user name.
- `git config --global user.email '[email address]'` - Sets the user email.
- `git reset --hard` - Reverts changes to the last commit.
- `git revert HEAD` - Reverts the last commit.
- `git show ` - Shows details of a commit by ID.
- `git log --oneline` - Shows commit history in one line.## Author
AlexTkDev - Project developer.
## License
MIT