Fjerne og avinitialisere submoduler
Lær den riktige og komplette fremgangsmåten for å fjerne en Git-submodul fra et repository, inkludert avinitialisering, opprydding i .gitmodules og hvordan du unngår resterende tilstand.
Fjerne og avinitialisere submoduler er en gratis leksjon i Git videregående: Monorepo, Submodules og arbeidsflyter på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Git videregående: Monorepo, Submodules og arbeidsflyter, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Git videregående: Monorepo, Submodules og arbeidsflyter inneholder totalt 4 leksjoner.
Når du må fjerne en submodul
Undermoduler legges til for å hente inn ekstern kode, men kravene endrer seg. Det kan hende De må fjerne en undermodul når avhengigheten erstattes, leverandørkoden legges direkte inn, eller den ganske enkelt ikke lenger trengs.
Det er mer omfattende enn å slette en mappe: En undermodul finnes flere steder samtidig, og hvis ett av stedene overses, blir repositoriet ødelagt.
Hvor en undermodul finnes
En undermodul har tre spor:
.gitmodules— den deklarative konfigurasjonen.git/config— den lokale aktive konfigurasjonen.git/modules/<path>— de bufrede Git-dataene for undermodulen
I tillegg kommer selve mappen i arbeidsområdet. En fullstendig fjerning berører alle disse.
Trinn 1: Deinitialiser
Start med git submodule deinit. Dette avregistrerer undermodulen og fjerner oppføringen fra .git/config, mens resten foreløpig blir liggende.
git submodule deinit -f path/to/submoduleTrinn 2: Fjern fra indeksen
Bruk git rm for å fjerne undermodulen fra versjonssporingen og arbeidsområdet. I moderne Git oppdaterer dette også .gitmodules automatisk.
git rm -f path/to/submoduleTrinn 3: Rydd opp i bufrede Git-data
Undermodulens Git-data blir liggende under .git/modules. Fjern dem slik at en fremtidig undermodul med samme sti ikke skaper en konflikt.
rm -rf .git/modules/path/to/submoduleKontroller at .gitmodules er ryddig
Åpne .gitmodules og bekreft at blokken [submodule "..."] er borte. Hvis git rm har etterlatt en tom fil eller en foreldet oppføring, må De rette dette manuelt og klargjøre endringen.
git diff --cached .gitmodulesTrinn 4: Bekreft fjerningen
Fjerningen må bekreftes i en commit slik at alle som samarbeider, får endringen. Commiteren inneholder den slettede mappen, den oppdaterte .gitmodules-filen og den fjernede indeksoppføringen.
git commit -m 'Remove path/to/submodule'Manuelt alternativ
I eldre Git-versjoner redigerer git rm kanskje ikke .gitmodules for Dem. Den manuelle fremgangsmåten er:
git config -f .gitmodules --remove-section submodule.path/to/submodule
git add .gitmodules
git rm --cached path/to/submodule
rm -rf path/to/submoduleDette ser andre som samarbeider
Når andre henter commiten som fjerner undermodulen, forsvinner mappen fra versjonssporingen. Den lokale hurtigbufferen i .git/modules og oppføringen i .git/config kan likevel bli liggende. Be dem kjøre git submodule sync og rydde opp ved behov.
Vanlige feil
- Å bare slette mappen med
rm -rf— dette etterlater en ødelagt indeksoppføring - Å glemme å rydde opp i
.git/modules— dette hindrer at samme sti legges til på nytt - Å ikke bekrefte endringen i
.gitmodules— andre ser fortsatt undermodulen
En sjekkliste som kan gjenbrukes
Gå gjennom følgende hver gang De fjerner en undermodul: deinit, rm, rydd opp i moduler-hurtigbufferen, kontroller .gitmodules, bekreft. Når De alltid følger samme rekkefølge, unngår De delvis fjernede tilstander som forvirrer hele teamet.
Kort kontroll
Test forståelsen Deres av hvordan undermoduler fjernes.
Oppsummering
De har lært hele fremgangsmåten for fjerning: deinit for å avregistrere, git rm for å fjerne versjonssporingen, rydde opp i .git/modules for å tømme hurtigbufferen, kontrollere .gitmodules og deretter bekrefte. Når De følger denne sjekklisten hver gang, holder både repositoriet og klonene til de andre som samarbeider, seg i god stand.
Lær deg Git videregående: Monorepo, Submodules og arbeidsflyter med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Fjerne og avinitialisere submoduler» gratis?
Ja – hele teksten i «Fjerne og avinitialisere submoduler» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Git videregående: Monorepo, Submodules og arbeidsflyter-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Git videregående: Monorepo, Submodules og arbeidsflyter inneholder totalt 4 leksjoner.
Hva lærer jeg i «Fjerne og avinitialisere submoduler»?
Lær den riktige og komplette fremgangsmåten for å fjerne en Git-submodul fra et repository, inkludert avinitialisering, opprydding i .gitmodules og hvordan du unngår resterende tilstand. Du øver på Git videregående: Monorepo, Submodules og arbeidsflyter med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Git videregående: Monorepo, Submodules og arbeidsflyter?
Ingen tidligere erfaring er nødvendig. Git videregående: Monorepo, Submodules og arbeidsflyter på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Fjerne og avinitialisere submoduler»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Git videregående: Monorepo, Submodules og arbeidsflyter-leksjonen?
Ja. Alle Git videregående: Monorepo, Submodules og arbeidsflyter-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Introduksjon til Git Submodules
- Legge til og klone submoduler
- Oppdatere og synkronisere submoduler
- Fjerne og avinitialisere submoduler