Kā lietot Git ar MI veidotu lietotni
Lai lietotu Git ar MI veidotu lietotni, savienojiet projektu ar Git repozitoriju, saglabājiet katru darbojošos izmaiņu, rakstiet vienrindas ziņojumu ar aprakstu, kas mainījies, un glabājiet noslēpumus ārpus Git ar .gitignore. Izmantojiet atzaru jebkam riskantam, pirms uzdevuma ielādējiet izmaiņas, ja kāds cits mainījis kodu, un, kad MI kaut ko salauž, atgriezieties pie pēdējās labās saglabāšanas, nevis veidojiet tālāk uz esošā haosa.
Git ir versiju kontrole: visu saglabāto koda versiju vēsture. GitHub ir vietne, kas glabā Git repozitorijus tiešsaistē. Ja tie ir jauni, sāciet ar ko ir GitHub. Šis ceļvedis ir par paradumiem, kas padara Git noderīgu, kad lielāko daļu koda raksta MI.
Kāpēc Git ir svarīgāks ar MI
MI var mainīt divdesmit failus vienā atbildē. Tas ir ātri, bet tas arī nozīmē, ka viens uzdevums var klusi salauzt kaut ko, ko vakar pārbaudījāt. Git dod jums:
- Atgriešanos. Jebkuru saglabātu versiju var atjaunot.
- Ierakstu par izmaiņām. Varat precīzi redzēt, kurus failus un rindas viens uzdevums skarīja.
- Kopiju ārpus veidotāja. Jūsu kods atrodas vietā, ko kontrolējat jūs.
- Standarta nodošanu. Jebkurš izstrādātājs, hostings vai rīks var strādāt no Git repozitorija.
1. solis: savienojiet repozitoriju
Izveidojiet repozitoriju (parasti privātu) GitHub vai līdzīgā pakalpojumā un savienojiet ar to savu projektu. Lielākā daļa MI lietotņu veidotāju, kas atbalsta Git, to dara caur iestatījumu lapu ar pogu „Connect GitHub”. Ja jūsējam tādas nav, varat eksportēt kodu un augšupielādēt to pats vai vienreiz lūgt izstrādātāju to iestatīt.
Pirms pirmās augšupielādes pārliecinieties, ka repozitorijs ignorē lietas, kurām tur nevajadzētu būt:
Pārbaudi failu .gitignore. Pārliecinies, ka tajā ir .env faili, node_modules, būvējuma izvades mapes un visi faili ar noslēpumiem. Pastāsti, ko tu pievienoji.
2. solis: saglabājiet pēc katras darbojošās izmaiņas
Commit ir saglabāta momentuzņēmuma ar ziņojumu. Paradums, kas ir svarīgs: saglabājiet, kad kaut kas darbojas, pirms pieprasāt nākamo.
- Pieprasiet vienu izmaiņu.
- Pārbaudiet to priekšskatījumā.
- Ja tas darbojas, saglabājiet (vai sinhronizējiet) ar ziņojumu.
- Tad virzieties tālāk.
Mazas saglabāšanas nozīmē, ka, kad kaut kas salūst, zināt, kura izmaiņa to izraisīja, un tās atcelšana nepazudina citu darbu.
3. solis: rakstiet ziņojumus, ko vēlāk varēsiet izlasīt
Labs ziņojums pasaka, kas mainījies un kāpēc, vienā rindā:
- Labi:
Add CSV export to the orders page - Labi:
Fix booking form rejecting times after 6pm - Nederīgi:
update,changes,fix stuff
Varat lūgt MI tos uzrakstīt:
Apkopo izmaiņas kopš pēdējās saglabāšanas vienā rindā, sākot ar darbības vārdu, īsāk par 70 rakstzīmēm.
4. solis: izmantojiet atzarus riskantam darbam
Atzars ir atsevišķa darba līnija. Jūs varat kaut ko izmēģināt atzarā, un, ja tas neizdodas, to atmest, neskarot galveno versiju.
Izmantojiet atzaru, kad:
- izmaiņa ir liela (pārprojektēšana, jauna maksājumu plūsma, datubāzes izmaiņa);
- kāds cits strādā pie tās pašas lietotnes;
- vēlaties, lai kāds pārskatītu izmaiņu, pirms tā nonāk tiešraidē.
Kad darbs ir pabeigts un pārbaudīts, to sapludina atpakaļ galvenajā atzarā. GitHub tas parasti notiek caur pull request, lapu, kurā redzamas izmaiņas pārskatīšanai. Ja jūsu veidotājs sinhronizē tikai vienu atzaru, atzaru pārvaldību var veikt izstrādātājs GitHub pusē.
5. solis: droša atcelšana
Kad uzdevums salauž lietotni, neaizraujieties ar to, ka uzdodat vēl piecus uzdevumus virsū. Atgriezieties pie pēdējās labās versijas un izmēģiniet skaidrāku uzdevumu.
- Veidotājā: izmantojiet tā kontrolpunktu vai atjaunošanas funkciju, ja tāda ir.
- Git:
git revertizveido jaunu saglabājumu, kas atceļ vecu, saglabājot vēsturi. Tā ir drošā izvēle kodam, ko citi jau varēja ielādēt. - Izvairieties no
git push --forcekopīgā atzarā, ja nezināt precīzi, kāpēc. Tas pārraksta vēsturi visiem.
Ja neesat pārliecināts, jautājiet:
Pēdējā izmaiņa salauza pieteikšanās lapu. Parādi, kurus failus tā mainīja salīdzinājumā ar iepriekšējo saglabājumu, un paskaidro, ko katra izmaiņa darīja. Vēl neko nemaini.
6. solis: ielādējiet izmaiņas pirms uzdevuma
Ja izstrādātājs vai cits rīks maina kodu GitHub, MI veidotājs to nezina, kamēr neielādējat šīs izmaiņas (pull). Uzdevuma došana, balstoties uz vecu kodu, rada konfliktus un zaudētu darbu.
- Ielādējiet izmaiņas katras sesijas sākumā.
- Vienojieties, kas ko rediģē, un izvairieties no tā, ka abas puses vienlaikus rediģē tos pašus failus.
- Ja rodas sapludināšanas konflikts (divas izmaiņas tajās pašās rindās), lūdziet izstrādātāju vai MI to atrisināt un paskaidrot izvēli.
Piemēru uzdevumi
Pirms sākam: kas repozitorijā mainījies kopš manas pēdējās sesijas? Apkopo saglabājumus.
Veic nākamo izmaiņu atsevišķi: pievieno pogu „Duplicate” katram rēķinam. Neko citu nemaini, lai es varētu to saglabāt atsevišķi.
Pārbaudi, vai Git nav izsekotas API atslēgas, paroles vai .env faili, arī iepriekšējos saglabājumos. Ziņo tikai failu nosaukumus, ne vērtības.
Biežas kļūdas
- Noslēpumu saglabāšana. Kad atslēga ir Git vēsturē, tā ir atklāta, pat ja failu vēlāk izdzēsāt. Nomainiet to.
- Viens milzīgs saglabājums nedēļā. Jūs nevarat atcelt vienu izmaiņu, nenoņemot visas.
- Ziņojumi „update”. Vēsture kļūst bezjēdzīga, meklējot, kas salūza.
- Uzdevumu došana uz novecojuša koda. Ielādējiet izmaiņas pirmajā kārtā, ja kāds cits rediģē kodu.
- Kļūdas labošana ar force-push. Tas var izdzēst citu cilvēku darbu. Labāk izmantojiet revert.
node_modulessaglabāšana. Tā ir ļoti liela, un to tāpat atjauno no bloķēšanas faila.
Kontrolsaraksts
- Projekts ir savienots ar privātu repozitoriju.
-
.gitignoreizslēdz.env,node_modules, būvējuma izvadi un noslēpumus. - Saglabāju pēc katras darbojošās izmaiņas.
- Saglabājumu ziņojumi vienā rindā apraksta izmaiņas.
- Lielas vai riskantas izmaiņas nonāk atzarā un tiek pārskatītas.
- Ielādēju izmaiņas pirms uzdevuma, ja kāds cits rediģē kodu.
- Atceļu ar kontrolpunktiem vai
git revert, nevis force-push. - Katra atslēga, kas jebkad bijusi Git, ir nomainīta.
Git Mythex
Mythex pēc katra veiksmīga aģenta uzdevuma saglabā Git kontrolpunktu, un Atgriezties šajā punktā atjauno projektu līdz tam — tā ir veidotāja puses atcelšana, kas aprakstīta 5. solī. Skatiet Iterate without rebuilding.
Pro versijā GitHub sinhronizācija savieno repozitoriju no projekta iestatījumiem, lai varētu sūtīt un ielādēt izmaiņas, un eksports lejupielādē projektu bez noslēpumiem un node_modules. Skatiet GitHub, export, and import. Pirms projekta nodošanas izstrādātājam GitHub savienošana padara nodošanu daudz vienkāršāku — skatiet kā strādāt ar izstrādātāju pie MI veidotas lietotnes un kā eksportēt un pašmitināt MI veidotu lietotni.
Jautājumi
Vai man vajag Git, ja mans MI lietotņu veidotājs jau piedāvā kontrolpunktus?
Kontrolpunkti nodrošina atcelšanu, kamēr veidojat. Git pievieno koda kopiju ārpus veidotāja, vēsturi, ko var lasīt arī citi cilvēki, un standarta veidu, kā izstrādātājs vai cits rīks var strādāt pie tā paša koda. Ja lietotne ir svarīga, izmantojiet abus.
Cik bieži saglabāt izmaiņas (commit), veidojot ar MI?
Pēc katras darbojošās izmaiņas — parasti pēc katra veiksmīgā uzdevuma vai nelielas uzdevumu grupas. Mazas saglabāšanas vieglāk atrast un atcelt vienu izmaiņu, kas kaut ko salauza.
Kas nekad nedrīkst tikt saglabāts Git?
API atslēgas, paroles, .env faili ar reāliem datiem un instalēto atkarību mapes, piemēram, node_modules. Pievienojiet tās failam .gitignore pirms pirmās saglabāšanas, un nomainiet katru atslēgu, kas jebkad ir nonākusi Git.
Vai varu labot kodu GitHub un turpināt veidot ar MI?
Jā, ja jūsu veidotājs var ielādēt izmaiņas no GitHub. Pirms nākamā uzdevuma ielādējiet izmaiņas, lai MI strādātu ar jaunāko kodu, un nelabojiet vienus un tos pašus failus vienlaikus abās pusēs.