A beginner-friendly, hands-on project designed to help you practice essential Git and GitHub commands using the command line. This website serves as a safe and visual playground where you can simulate real-world workflows like pushing, pulling, branching, and merging — perfect for beginners who want to build confidence using Git.
I created this project to provide a safe, interactive space for beginners and developers to practice Git commands without the risk of breaking real repositories. Sometimes it’s scary to mess around with real projects, so I wanted to build a fun, low-pressure environment where you can try things out, make mistakes, and get more comfortable using Git. The goal is to help users build confidence and fluency with Git in a simple, simulated setup.
This project is created to:
- Practice creating GitHub repositories using the command line.
- Simulate real Git workflows like saving, pushing, pulling, and fetching changes.
- Safely explore Git commands without worrying about breaking anything.
- Visualize your progress by working on actual website files.
-
git init✅ -
git status✅ -
git add✅ -
git commit✅ -
git push✅ -
git restore✅ -
git remote add✅ -
git remote remove✅ -
git remote rename✅ -
git remote -v✅ -
git pull⬜️ -
git fetch⬜️ -
git branch⬜️ -
git checkout⬜️ -
git merge⬜️ -
git clone⬜️ -
git --help⬜️
- HTML5
- CSS3
- JavaScript (ES6+)
- Bootstrap 5
/git-practice-simulator
│
├── /assets
│ ├── css
│ │ ├── main.css
│ │ └── utilities.css
│ ├── images
│ │ └── favicon_io
│ └── js
│ ├── app.js
│ ├── gitMessage.js
│ ├── gitSimulator.js
│ ├── state.js
│ ├── terminal.js
│ ├── ui.js
│ └── utils.js
│
├── 404.html
├── aboutme.html
├── concepts.html
├── index.html
├── LICENSE
├── playground.html
└── README.md
-
🔹 Use Bootstrap for Structure
- Utilize Bootstrap for all layout and spacing tasks, including padding, margins, containers, rows, and columns.
-
🔹 Use
main.cssfor Styling- Manage typography, colors, font sizes, font families, font weights, text colors, and background colors using
main.cssfile.
- Manage typography, colors, font sizes, font families, font weights, text colors, and background colors using
-
🔹 Use
utilities.cssfor Reusable Classes- You can use the provided
utilities.cssfor quick access to custom helper classes for fonts, text sizes, colors, spacing, and more. This file is your go-to for consistent styling outside of Bootstrap.
- You can use the provided
-
🔹 Avoid Inline Styles
- Keep the codebase clean and maintainable by avoiding inline styles. Always use Bootstrap classes, your custom
utilities.css, or the main stylesheet for all styling.
- Keep the codebase clean and maintainable by avoiding inline styles. Always use Bootstrap classes, your custom
-
Bootstrap handles all layout and structure:
- Containers, rows, columns, padding, margins, and grid systems.
-
utilities.csshandles reusable custom utilities:- Typography (font sizes, font weights, font families)
- Text and background colors
- Custom spacing helpers
-
main.cssis for:- Page-specific styles
- Custom components
- Hover effects and animations
-
❌ Avoid inline styles for sizing, colors, or positioning.
| Purpose | Use Bootstrap | Use utilities.css |
Use main.css |
|---|---|---|---|
| Layout / Structure | ✅ Containers, rows, columns, grids | ✅ Custom spacing if needed | ❌ Not recommended for layout |
| Spacing (Padding/Margins) | ✅ Bootstrap spacing classes (p-3, m-4) |
✅ Custom sizes if not available in Bootstrap | ❌ Avoid |
| Typography (Fonts, Sizes) | ❌ | ✅ Reusable text styles | ✅ Page/component-specific text styles |
| Colors (Text, Background) | ❌ | ✅ Custom color utilities | ✅ Unique colors per page/section |
| Buttons / Components | ✅ Base buttons | ✅ Extra utility classes | ✅ Fully customized buttons |
| Hover Effects / Animations | ❌ | ❌ | ✅ Best placed in main.css |
| Global Adjustments | ❌ | ✅ Reusable adjustments | ✅ One-off adjustments |
| Quick Utility Classes | ❌ | ✅ Primary purpose of this file | ❌ |
| Inline Styles | ❌ Avoid | ❌ Avoid | ❌ Avoid |
"Heads up! Some parts of the project don’t perfectly follow these CSS rules yet — I’m still working on cleaning things up and getting everything consistent. I’ll get there in future updates. 😉"
- Clone the Repository
git clone https://github.com/yourusername/git-practice-simulator.git-
Make Local Changes Add, edit, or delete files to simulate project updates.
-
Practice Git Commands Try adding, committing, pushing, pulling, branching, and merging.
-
Repeat Create new branches and simulate pull requests to improve your skills.
Here’s a casual and welcoming "Open for Contributors" section you can add to your README:
This project is open for collaboration! 🎉 If you have ideas to improve the simulator, find bugs, or just want to practice contributing to open source, feel free to jump in. Whether you're fixing small issues or adding new features, all contributions are welcome.
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature). - Commit your changes (
git commit -m 'Add your feature'). - Push to your branch (
git push origin feature/your-feature). - Open a Pull Request.
If you have suggestions, feel free to open an issue as well! Let’s build and improve this project together!
This project is licensed under the MIT License – feel free to use and modify for learning purposes.