Həftə 3 · 05/23
Git sənin geri al düyməndir
6 dəqiqəlik oxu
Uzun bir mətni «geri al» düyməsi olmayan redaktorda yazırsan. Bir saatdan sonra nəyisə pozursan və hansı cümlənin nə vaxt dəyişdiyini xatırlamırsan.
Git hər dəyişikliyin qeydini saxlayır. Kiçik commit — kiçik «geri al» addımı. AI dəqiqədə onlarla fayl dəyişdiyi üçün bu qeydlər indi daha vacibdir.
git switch -c feat/vote-fix # a line of your own to work on
git add -p # look at each change before keeping it
git commit -m "fix: read the voter from the session"
git revert <commit> # undo one idea, keep the restÇox deyilən söz: Git komandalar üçündür, mən sadəcə saxlayıram.
AI bir dəqiqədə 30 faylı dəyişə bildiyi halda, nəyin dəyişdiyini görmək və geri almaq üçün yeganə yol git-dir. Hər commit bir fikir olsun. Hər təcrübə üçün ayrıca branch aç. Commit etməzdən əvvəl diff-i oxu, çünki diff review-un özüdür.
Bir commit, bir fikir
Düzəliş, ad dəyişikliyi və format qarışıq commit-i düzəlişi itirmədən geri almaq olmur. Ayrı commit-lər ayrı-ayrılıqda geri alınır və oxunur.
Sən bunu istə
fix: vote list reads identity from the session only
refactor: rename usta -> memar (no behaviour change)
style: format LessonViewXülasəni yox, diff-i oxu
AI-ın xülasəsi iddiadır, diff isə dəlil. Xüsusən mexaniki görünən dəyişikliklərə bax: escape-lər, encoding, lockfile, generated fayllar.
Sən bunu istə
git diff --stat # which files, how much
git diff -- src/ # the code only
git diff --word-diff # one-character changes become visibleTəcrübə üçün worktree
Riskli AI təcrübəsini eyni repodan ikinci qovluqda apar. Əsas işin toxunulmaz qalır, təcrübə alınmasa qovluğu silirsən.
Sən bunu istə
git worktree add ../exp-engine -b exp/engine
# ... experiment there ...
git worktree remove ../exp-engineDiff oxuyanda soruş: Commit etməzdən əvvəl diff-i oxu: burada bir fikir var, yoxsa üç? Üç varsa, üç commit olmalıdır.
Terminlər
İndi sən yoxla
1AI deyir ki, «yalnız formatı düzəltdim». Əslində nə dəyişib?
- equations: ["A \\rightarrow B"],
+ equations: ["A \rightarrow B"],2İki saatlıq AI dəyişikliyindən sonra nəsə qırılıb, harada olduğu bilinmir. Ən yaxşı yol?
Hazır prompt
İngiliscədir, çünki terminlər ingiliscədir. Tərcümə etsən də terminləri saxla.
Summarise the uncommitted changes:
- group them by purpose
- flag anything unrelated to <task>
- flag anything that looks mechanical but changes behaviour
(encoding, escapes, whitespace in strings, generated files)
- propose how to split them into small commits, with messages
that say why, not what.Öz kodunda
- 1Bir həftə branch-da işlə, hər commit bir fikir olsun.
- 2Bir commit-i git revert ilə geri al.
- 3git bisect ilə bir xətanın hansı commit-dən gəldiyini tap.
Bunu görəndə bitib: Bir dəyişikliyi əllə deyil, git ilə geri almısan.
Daha dərinə
Oxumaq üçün