Preview ng leksyon

Final Project: Simulating Real Team Development

Apply everything you've learned in a cohesive scenario: you're a developer in a small team that needs to add a new feature, fix a bug, and release an update. We'll walk through the complete cycle step by step: creating a repository, working in branches, pull requests, intentionally created conflicts and their resolution, rebasing to clean up history, and final release tagging. By the end, you'll have a real repository that you can showcase to potential employers.

Complete Git workflow Team development Release cycle
Ano ang matututunan mo sa leksyong ito
  • You'll be able to independently manage a full feature development cycle in Git – from creating a branch to merging into main.
  • You'll understand what real team workflow looks like and be ready for it from day one on the job.
  • You'll have a complete repository with meaningful commit history that can be added to your portfolio and discussed in job interviews.

Simula ng leksyon

Initialising a Portfolio Repository

  • Create a new project folder
  • Initialise an empty Git repository
  • Add .gitignore to exclude unnecessary files
  • Check the working directory status

Open your terminal and create a new folder for the project using the command 'mkdir portfolio-project'. Navigate into it and run 'git init' - this will create a hidden .git folder where Git will store all the change history. Now add a .gitignore file containing 'node_modules/' and '.env' to exclude dependencies and confidential data from version control. Check the current status with 'git status' - you should see the new file listed as untracked. This is the foundation of your professional project. Make sure all files are created correctly and are in the right locations.

#!/bin/bash
# Create project folder
mkdir portfolio-project

# Navigate to project folder
cd portfolio-project

# Initialise Git repository
git init

# Create .gitignore file
cat > .gitignore << EOL
node_modules/
.env
EOL

# Check repository status
git status

Structuring the Project to Standards

  • Create standard folders: src, docs, tests
  • Add README with project description
  • Stage all changes for commit
  • Check status before committing

A clean project structure is like a tidy desk: everything in its place. Create three main folders: 'src' for source code, 'docs' for documentation, and 'tests' for tests. Add a README.md file with a brief project description. Now run 'git add .' to add all files to the staging area. Check 'git status' again - now all new files should be listed under changes ready to be committed. This is the first step towards professional codebase organisation. Ensure the structure meets industry standards.

#!/bin/bash
# Create standard folders
mkdir src docs tests

# Create README with description
cat > README.md << EOL
# Portfolio Project

This project demonstrates Git workflow skills.
EOL

# Add all files to staging area
git add .

# Check repository status
git status

First Meaningful Commit

  • Create first commit with a clear message
  • Use 'chore' prefix for maintenance changes
  • Check commit history
  • Verify all changes are committed

It's time to record the initial project state. Write 'git commit -m 'chore: initialise project structure''. Note the 'chore' prefix — it indicates maintenance changes. After committing, run git log — you'll see a record of your first commit with its hash, author, and message. This is the foundation upon which the entire change history will be built. A good first commit is like a clean canvas for an artist. Make sure the message is clear and informative.

#!/bin/bash
# Create first commit
git commit -m 'chore: initialize project structure'

# Check commit history
git log --oneline

Buong leksyon ay para sa subscription

31 pang slide sa buong bersyon.

Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.

Mag-sign in o magparehistro Mag-subscribe

Nilalaman ng leksyon

  1. Initialising a Portfolio Repository
  2. Structuring the Project to Standards
  3. First Meaningful Commit
  4. Publishing the Project on GitHub
  5. Starting a New Feature: Creating a Branch
  6. Atomic Commits: Writing a Change History
  7. Pre-Merge Checklist
  8. Preparing for a Pull Request
  9. Preparing the Final Project for Review
  10. Creating a Pull Request on GitHub
  11. Addressing Review Feedback
  12. Completing the Review Process
  13. Urgent Production Bug: What to Do?
  14. Creating a Hotfix Branch Correctly
  15. Quick Fix and Verification
  16. Urgent Merge and Deployment
  17. Updating Feature Branch Before Merging
  18. Resolving Code Conflicts
  19. Completing Rebase and Push
  20. Why Rebase Before Merging
  21. Interactive Rebase in Action
  22. Final Step: Clean History Merge
  23. Publishing the Completed Feature
  24. Merging Changes with Squash and Merge
  25. Post-Merge Cleanup
  26. Final Result and What to Show in Interviews
  27. Pre-release Checklist: Verifying Code Readiness
  28. Creating Version Tag v1.0.0
  29. Publishing the Release on GitHub
  30. Reviewing the Result and Preparing for Development
  31. Analysing Project History
  32. Evaluating Commit Readability
  33. Commit History as Your Professional Portfolio
  34. Finale: Your First Release is Ready!

Mga artikulo tungkol sa araling ito

Lahat ng leksyon ng kurso

  1. Introduction: Git from Scratch to Confident Developer
  2. Why Git is Essential - And Why It's a Job Requirement
  3. Installation and Setup: Getting Git Ready for First Use
  4. First Repository: init, add, commit, and the Magic of the Index
  5. Reading History: log, diff, show and Navigating the Past
  6. Branches: The Parallel Reality of Your Code
  7. Undoing Mistakes: restore, reset, revert — Doing It Right and the Dangers
  8. GitHub and Remote Repositories: Your Code in the Cloud
  9. Team Collaboration: Forks, Feature Branches, and Pull Requests
  10. Merge Conflicts: Don't Panic - Understanding and Resolving Them
  11. Git Workflows in Real Teams: Choosing the Right Approach
  12. Advanced Tools: Rebase, Stash, Cherry-pick and Tags
  13. Final Project: Simulating Real Team Development