Git & İşbirliği
Type: Learn
Languages: --
Prerequisites: Phase 0, Lesson 01
Time: ~30 minutes
Öğrenme Hedefleri
- Git kimliğini yapılandırın ve günlük ekleme, commit ve push iş akışını kullanın
- Ana parçaları kırmadan ayrı deneyler için dallar oluşturun ve birleştirin
- Bir yazın .
.gitignoreBu, model kontrol noktalarını ve büyük ikili dosyaları hariç. - Bağlantı geçmişini ile gezin
git logproje gelişimini anlamak için
Sorun
20 aşamada yüzlerce kod dosyası yazmak üzeresin. Sürüm kontrolü olmadan iş kaybedeceksin, geri alamayacağın şeyleri çözeceksin ve başkalarıyla işbirliği yapmanın hiçbir yolu olmayacak.
Git, bu araç. GitHub, kodun yaşadığı yerdir. Bu ders, bu kurs için ihtiyacınız olanları kapsar ve daha fazlasını içermez.
Anlaşım
sequenceDiagram
participant WD as Working Directory
participant SA as Staging Area
participant LR as Local Repo
participant R as Remote (GitHub)
WD->>SA: git add
SA->>LR: git commit
LR->>R: git push
R->>LR: git fetch
LR->>WD: git pullHatırlamak için üç şey:
- Sık sık saklayın (
git commit) - Uzak kontrol (
git push) - Deneyimler için bölge (
git checkout -b experiment)
Yapın
Adım 1: Git'i yapılandır
bashgit config --global user.name "Your Name"
git config --global user.email "you@example.com"Adım 2: Günlük iş akışı
bashgit status
git add file.py
git commit -m "Add perceptron implementation"
git push origin mainAdım 3: Deney için dallama
bashgit checkout -b experiment/new-optimizer
# ... make changes, commit ...
git checkout main
git merge experiment/new-optimizerAdım 4: Bu kurs repo ile çalışmak
Bu yüzden, GitHub'da yazma girişini yapın.originKendi kopyasında belirtiler:
bashgit clone https://github.com/YOUR-USERNAME/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-progressKullan
Bu kurs için şu emirlere ihtiyacınız var:
| Command | When |
|---|---|
git clone | Get the course repo |
git add + git commit | Save your work |
git push | Back it up to GitHub |
git checkout -b | Try something without breaking main |
git log --oneline | See what you've done |
Bu ders için rebase, cherry-pick veya submodules gerekmiyor.
Egzersizler
- Bu repoyu kırp, çatalını klonla,
my-progressDosya yap, bindir, it - Bir
.gitignoreBu, kontrol nokta dosyalarının modelini kapsar (.pt- Evet ..pth- Evet ..safetensors) - Bu repo ' nun commit tarihiyle ilgili bir bakış .
git log --onelineVe derslerin nasıl eklendiğini okuyun.
Anahtar Terimler
| Term | What people say | What it actually means |
|---|---|---|
| Commit | "Saving" | A snapshot of your entire project at a point in time |
| Branch | "A copy" | A pointer to a commit that moves forward as you work |
| Merge | "Combining code" | Taking changes from one branch and applying them to another |
| Remote | "The cloud" | A copy of your repo hosted somewhere else (GitHub, GitLab) |
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.