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.
- Interactive GUI for learning Git commands.
- Different difficulty levels for missions.
- Hints for incorrect answers.
- Comprehensive coverage of basic Git commands.
To install the necessary dependencies and run the game, follow these steps:
- Clone the repository:
git clone https://github.com/AlexTkDev/practicle_GIT_app.git
cd practicle_GIT_app- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # For Unix
venv\Scripts\activate # For Windows- Install the dependencies:
pip install -r requirements.txtTo start the game, use the following command:
python main.pymain.py- The main file to run the application.requirements.txt- File with project dependencies.README.md- Project documentation.
Missions are divided into three difficulty levels:
- 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
- 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
- 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
Complete list of commands used in the game:
git init- Creates a new repository.git clone <url>- Clones an existing repository.git add <file>- 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 <branch>- Merges changes from a branch.git checkout <branch>- Switches to a branch.git checkout -b <new_branch>- Creates a new branch and switches to it.git diff- Shows differences between commits.git rebase <branch>- Cherry-picks commits onto another branch.git stash- Temporarily saves changes.git stash apply- Applies stashed changes.git tag <name>- Creates tags for commits.git remote add <name> <url>- Adds a remote repository.git fetch <remote>- 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 <ID>- Shows details of a commit by ID.git log --oneline- Shows commit history in one line.
AlexTkDev - Project developer.
MIT