Faza 00 · lecția 02
Git și colaborare
Scopul lecției: Controlul versiunilor nu este opțional. Fiecare experiment, fiecare model și fiecare lecție pe care le creați aici sunt urmărite.
Versiunea curentă AlexBred.com: primele 100 de lecții ale programului în limba română.
Cuprinsul lecției
Controlul versiunilor nu este opțional. Fiecare experiment, fiecare model și fiecare lecție pe care le creați aici sunt urmărite.
Tip: Învățare Limbaje: — Cerințe preliminare: Faza 0, lecția 01 Timp: aproximativ 30 de minute
Obiective de învățare
- Să configurați identitatea Git și să folosiți fluxul de lucru zilnic bazat pe
add,commitșipush - Să creați și să îmbinați ramuri pentru experimente izolate, fără a afecta ramura
main - Să scrieți un fișier
.gitignorecare exclude punctele de control (checkpoint) ale modelelor și fișierele binare mari - Să parcurgeți istoricul commiturilor cu
git logpentru a înțelege evoluția proiectului
Problema
Urmează să scrieți sute de fișiere cu cod de-a lungul a 20 de faze. Fără controlul versiunilor, vă veți pierde munca, veți strica lucruri fără să le puteți repara sau anula și nu veți avea nicio modalitate de a colabora cu alte persoane.
Git este instrumentul. GitHub este locul unde se află codul. Această lecție prezintă ceea ce vă trebuie pentru acest curs și nimic mai mult.
Conceptul
Trei lucruri de reținut:
- Salvați frecvent (
git commit) - Trimiteți modificările către depozitul la distanță (
git push) - Creați ramuri pentru experimente (
git checkout -b experiment)
Implementare
Pasul 1: Configurați Git
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
Pasul 2: Fluxul de lucru zilnic
git status
git add file.py
git commit -m "Add perceptron implementation"
git push origin main
Pasul 3: Folosirea ramurilor pentru experimente
git checkout -b experiment/new-optimizer
# ... make changes, commit ...
git checkout main
git merge experiment/new-optimizer
Pasul 4: Lucrul cu depozitul acestui curs
git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
git checkout -b my-progress
# work through lessons, commit your code
git push origin my-progress
Utilizare
Pentru acest curs aveți nevoie exact de următoarele comenzi:
| Comandă | Când se folosește |
|---|---|
git clone |
Pentru a obține depozitul cursului |
git add + git commit |
Pentru a vă salva lucrul |
git push |
Pentru a crea o copie de siguranță pe GitHub |
git checkout -b |
Pentru a încerca ceva fără a afecta ramura main |
git log --oneline |
Pentru a vedea ce ați făcut |
Atât. Pentru acest curs nu aveți nevoie de rebase, cherry-pick sau submodule.
Exerciții
- Clonați acest depozit, creați o ramură numită
my-progress, creați un fișier, adăugați-l într-un commit și trimiteți-l către depozitul la distanță - Creați un fișier
.gitignorecare exclude fișierele de tip checkpoint ale modelelor (.pt,.pth,.safetensors) - Consultați istoricul commiturilor acestui depozit cu
git log --onelineși citiți cum au fost adăugate lecțiile
Termeni-cheie
| Termen | Cum spun oamenii | Ce înseamnă de fapt |
|---|---|---|
| Commit | „Salvare” | Un instantaneu al întregului proiect la un anumit moment |
| Ramură (branch) | „O copie” | Un indicator către un commit, care avansează pe măsură ce lucrați |
| Îmbinare (merge) | „Combinarea codului” | Preluarea modificărilor dintr-o ramură și aplicarea lor în alta |
| Depozit la distanță (remote) | „Cloudul” | O copie a depozitului, găzduită în altă parte (GitHub, GitLab) |
Sursă: Git & Collaboration — originalul Navigare: înapoi: 00.01 — Mediul de dezvoltare · Faza 0 — Configurare și instrumente · Catalog complet · înainte: 00.03 — Configurare GPU și cloud