Navodilo: Delo z vejami v programu Access
Povlecite delo drugih, preklopite na drugo vejo ali začnite novo, medtem ko podatkovna zbirka ostane odprta v programu Access in se nobena koda ne izgubi.
Ozadje / opis težave
Koda, ki jo spremenite v programu Access, je v podatkovni zbirki. Git jo vidi šele, ko jo izvoz zapiše v vire. Ukaz
git switch ali git pull v terminalu zato dela z viri, ki so lahko starejši od podatkovne zbirke: modul, spremenjen
v programu Access, ostane na stari veji, ali pa naslednji izvoz prepiše, kar je prineslo vlečenje.
Pregled rešitve
SDK korake z vejami izvede z enakim preverjanjem kot wkl-office changes:
| Korak | Kaj SDK naredi prej in potem |
|---|---|
| Povleci | Oddaljeno vejo spoji v vire (vedno s spajanjem, nikoli z rebase) in prispele objekte uvozi v odprto podatkovno zbirko. Objekta, ki ste ga spremenili tudi v programu Access, ne uvozi: v oknu Spremembe čaka na vašo odločitev. Datoteka, ki je git ni mogel spojiti, čaka kot konflikt spajanja. |
| Povleci in potisni | Kot Povleci, nato vejo pošlje, če nič ne čaka na odločitev. |
| Pridobi | Pridobi stanje oddaljenega repozitorija, da veja pokaže, koliko commitov je za vleči. Virov ne spremeni. |
| Preklopi na vejo | Najprej izvozi, kar ste spremenili v programu Access, in vas pred tem vpraša; preklop zavrne, dokler kaj čaka na odločitev. Po preklopu ponudi uvoz objektov z drugačnimi viri ali ponovno gradnjo podatkovne zbirke. |
| Nova veja | Ustvari vejo iz trenutnega stanja in preklopi nanjo; viri in podatkovna zbirka ostanejo nespremenjeni, zato se nič ne preverja ali izvaža. |
V dodatku so koraki v meniju Veja skupine Projekt na zavihku traku WKL SDK in v orodni vrstici WKL SDK
urejevalnika VBA. Napis menija je trenutna veja, za njo ↑ s številom commitov za pošiljanje in ↓ s številom commitov za
vlečenje, po stanju zadnjega pridobivanja ali vlečenja (main ↑2 ↓1). V ukazni vrstici sta to ukaza wkl-office pull
in wkl-office switch.
Izvedba
V programu Access ali v urejevalniku VBA:
- Odprite Veja in izberite Povleci. Rezultat je na zavihku Izhod. Če kaj čaka na odločitev, se odpre zavihek Spremembe.
- Za preklop odprite Veja in pod Preklopi na izberite vejo. Veja, ki obstaja samo v oddaljenem repozitoriju, je tako označena; preklop nanjo ustvari lokalno vejo, ki ji sledi.
- Če urejevalnik VBA vsebuje neshranjeno kodo ali Access neizvožene spremembe, dodatek vpraša Izvozim spremembe iz programa Access in preklopim na vejo? Izberite Izvozi in preklopi. Koda se shrani, spremembe se izvozijo, nato se veja zamenja.
- Po preklopu z Uvozi objekte (n) prenesete spremenjene objekte v odprto podatkovno zbirko, z Znova zgradi in odpri pa jo na novo zgradite iz virov veje. Če se razlikujejo tabele, sklici ali podatki, je potrebna ponovna gradnja; vprašanje to pove.
- Nova veja … vpraša za ime. Imena, ki ga git ne sprejme ali ga že ima kakšna veja, ne morete potrditi.
V ukazni vrstici:
wkl-office pull Customers.acproj wkl-office pull Customers.acproj --push wkl-office switch Customers.acproj feature/phone --create --export wkl-office switch Customers.acproj main --import
Odločitev o konfliktu po vlečenju. Zavihek Spremembe našteje, kaj čaka:
- Objekt, spremenjen v programu Access in z vlečenjem, ima stanje Spremenjeno na obeh straneh. Obdrži Access obdrži vašo različico, Obdrži vir prevzame različico iz vlečenja; v ukazni vrstici je to
wkl-office sync <object> --keep access|source. - Datoteka, ki je git ni mogel spojiti, ima korak Razreši konflikt spajanja. Izberite jo in kliknite Razreši spajanje: Obdrži mojo obdrži različico vaše veje, Prevzemi njihovo različico iz vlečenja. Če želite obe spojiti ročno, dvokliknite vrstico: datoteka se odpre v programu Visual Studio Code. Odstranite oznake konfliktov, shranite in znova izberite Razreši spajanje, nato Označi kot spojeno. Z zadnjo razrešeno datoteko se spajanje zaključi s commitom, ki nosi sporočilo git. Spojene vire nato uvozite z Uvozi spremembe.
Opombe
- Preklop nikoli ne izgubi kode: kar je samo v programu Access, se po vaši potrditvi najprej izvozi. Git nato spremenjene izvorne datoteke prenese na drugo vejo ali pa preklop zavrne, če ima ta veja drugo različico iste datoteke. Takrat se nič ne spremeni in lahko izvoz najprej potrdite.
- Vlečenje uvozi samo tisto, kar je prineslo. Uvoz, ki je čakal že prej, čaka še naprej.
- Vlečenje se zavrne, dokler konflikt spajanja iz prejšnjega vlečenja ni razrešen.
- Za uvoz mora biti podatkovna zbirka projekta odprta v programu Access. V ukazni vrstici brez odprte podatkovne zbirke ukaz
switchobjekte samo našteje; pozneje jih uvozite zwkl-office import --changedali zgradite znova. - SDK zažene git brez konzole. Vprašanje, ki bi ga git postavil v konzoli, takoj spodleti. Prijava prek upravitelja poverilnic, na primer Git Credential Manager, še vedno odpre svoje okno.
- Samo git. V delovni kopiji Subversion meni veje kaže Projekt ni v nobeni delovni kopiji git, ukaza
pullinswitchpa zavrneta delo.