# Clone the repo
git clone https://github.com/<org-or-username>/ml_project2.git
cd ml_project2pip install nbstripout
nbstripout --install --attributes .gitattributes✅ This ensures any *.ipynb you commit gets its outputs removed automatically.
💡 Windows tip: Run
git config core.autocrlf trueto silence CRLF/LF warnings.
git checkout -b feature/marko-dev
git push -u origin feature/marko-dev
-ulets you use plaingit push/git pullnext time without specifying the branch.
# Work on your branch
git add .
git commit -m "Describe your change"
git push # pushes to feature/marko-devThat’s it for day-to-day work.
git fetch origin
git rebase origin/main # or: git merge origin/maingit push --force-with-lease- base:
main - compare:
feature/marko-dev - Get a review → Squash & Merge (recommended)
git checkout main
git pull
git checkout -b feature/<next-task>nbstripout --force
git add .
git commit -m "Strip notebook outputs"
git pushGet-ChildItem . -Filter *.ipynb -Recurse | ForEach-Object {
Write-Host "🧹 $($_.FullName)"
python -m nbstripout "$($_.FullName)"
}
git add .
git commit -m "Strip notebook outputs"
git push| Task | Command |
|---|---|
| Create and track branch | git checkout -b feature/marko-devgit push -u origin feature/marko-dev |
| Daily push | git add . && git commit -m "msg" && git push |
| Sync with main (end of feature) | git fetch origingit rebase origin/maingit push --force-with-lease |
| Open PR | compare feature/marko-dev → base main |
👨💻 Team rule:
Work only on your branch during development.
We sync with main only at the end before merging via Pull Request.