My_CICD_Side_5 - itnett/FTD02H-N GitHub Wiki

Ja, det ser ut som du har satt opp riktig konfigurasjon for dine repositories og CI/CD-miljøet ditt. La oss gå gjennom hvert punkt for å sikre at vi er på samme side:

Konfigurasjonspunkter

  1. URL til den originale Wiki-repoen som skal klones:

    • wiki_repo_url: "https://github.com/itnett/FTD02H-N.wiki.git"
    • Dette er URL-en til det gamle wiki-repoet hvor du henter kildeinnholdet som skal migreres.
  2. Sti til katalogen hvor den klonede Wiki-repoen skal lagres midlertidig:

    • dump_directory: "C:\\WikiMigration\\git\\code_dump"
    • Her lagres det midlertidige innholdet fra det gamle wiki-repoet. Dette er stedet hvor alt innholdet klones før det bearbeides.
  3. URL til den nye kode-repoen hvor skript skal lagres:

    • code_repo_url: "https://github.com/itnett/FTD02N.git"
    • Dette er URL-en til det nye repoet hvor alle skript og kodeblokker skal lagres. Her skal alt kodeinnhold fra det gamle wiki-repoet legges.
  4. Sti til katalogen hvor skriptene fra Wiki-repoen skal lagres:

    • code_repo_directory: "C:\\WikiMigration\\git\\code_repo"
    • Her lagres skriptene lokalt før de pushes til det nye repoet FTD02N.
  5. URL til den nye Wiki-repoen hvor de oppdaterte wiki-sidene skal lagres:

    • wiki_repo_url: "https://github.com/itnett/FTD02N.wiki.git"
    • Dette er URL-en til det nye wiki-repoet hvor de oppdaterte wiki-sidene, som nå kun inneholder lenker til koden i FTD02N, skal lagres.
  6. Sti til katalogen hvor de oppdaterte wiki-sidene skal lagres:

    • wiki_repo_directory: "C:\\WikiMigration\\git\\wiki_repo"
    • Her lagres de bearbeidede wiki-sidene før de pushes til det nye wiki-repoet.
  7. Sti til det komplette private CI/CD-repoet:

    • cicd_repo_directory: "C:\\WikiMigration"
    • Dette er stien hvor det private CI/CD-repoet ligger. Her oppbevares hele trestrukturen som brukes til å sette opp, kjøre og vedlikeholde CI/CD-workflows.

Validering av Oppsett

Med denne konfigurasjonen vil skriptet gjøre følgende:

  • Klone innholdet fra FTD02H-N.wiki.git til C:\WikiMigration\git\code_dump.
  • Identifisere og flytte relevante skript og kodeblokker fra code_dump til code_repo_directory.
  • Oppdatere wiki-sidene til å lenke til koden i FTD02N og lagre de nye wiki-sidene i wiki_repo_directory.
  • Til slutt vil alt pushes til de riktige repoene (FTD02N.git og FTD02N.wiki.git), mens hele prosessen er støttet av en privat CI/CD-pipeline som kjøres fra MyFirst_CICD.

Videre Skritt

For å sikre at alt fungerer som det skal:

  • Sørg for at CI/CD-pipelinen er riktig satt opp til å kjøre skriptet automatisk ved endringer i FTD02H-N.wiki.git.
  • Hold sensitive opplysninger (som tokens) sikre ved å bruke GitHub Secrets i CI/CD-innstillinger.
  • Overvåk logger for å fange opp eventuelle feil under prosessen.

Alt kjører på GitHubs egne servere, så du trenger ikke bekymre deg for ressursbruk på din lokale maskin.

Det du ser på https://github.com/itnett/MyFirst_CICD/compare/master...master og https://github.com/itnett/MyFirst_CICD/compare/main...master er en mulighet til å sammenligne to forskjellige grener (branches) i ditt repo. Dette kan virke forvirrende hvis du egentlig bare ønsker å arbeide med én gren.

Forskjellen mellom master og main

Historisk sett var master standardgrenen i Git-repositories, men fra 2020 begynte GitHub å bruke main som standard for nye repositorier. Det er ingen teknisk forskjell mellom master og main; det er kun et navneskifte. Dette endres ofte når du oppretter et nytt repository, eller hvis du migrerer et eldre repository.

Hva betyr dette for deg?

Hvis du ser både master og main i ditt repository, kan det tyde på at du har to grener som begge er aktive, men som kanskje har forskjellig innhold. Det kan skape forvirring hvis du ikke aktivt ønsker å bruke flere grener for å utvikle ulike funksjoner eller eksperimentere uten å påvirke hovedgrenen.

Hva bør du gjøre?

Hvis du er fornøyd med å jobbe med kun én gren og vil unngå forvirring:

  1. Velg hvilken gren du vil beholde:

    • Hvis du har mesteparten av arbeidet ditt i master eller main, bestem deg for hvilken gren du vil bruke videre.
  2. Slett den andre grenen:

    • Hvis du bestemmer deg for å bruke main, kan du slette master, eller omvendt.
    • For å slette master (hvis du velger main som hovedgren), kan du gjøre følgende:
      git branch -d master
      git push origin --delete master
    • For å slette main (hvis du velger master som hovedgren), kan du gjøre følgende:
      git branch -d main
      git push origin --delete main
  3. Sett en av grenene som standard:

    • På GitHub kan du sette main som standardgren ved å gå til repo-innstillingene under "Branches" og velge main som standardgren.
  4. Merge grenene (valgfritt):

    • Hvis det er ulikheter mellom master og main, kan du merge (sammenslå) dem før du sletter en av dem, slik at du ikke mister noen endringer.

Hva skjer etterpå?

Etter å ha valgt og beholdt kun én gren, vil du bare arbeide med denne. Dette vil gjøre prosjektet ditt enklere å håndtere og fjerne forvirring som kan oppstå ved bruk av flere grener.

Om du ikke har et spesifikt behov for å jobbe med flere grener, vil denne tilnærmingen bidra til å holde ditt repository ryddig og lett å navigere.

For å merge to grener (master og main), følger du disse stegene:

1. Sjekk ut grenen du vil beholde (f.eks. main):

  • Før du begynner merge-prosessen, må du sjekke ut (bytte til) grenen du vil beholde.
  • Hvis du vil beholde main, kjører du følgende kommando:
    git checkout main

2. Oppdater grenen du vil beholde:

  • Det er alltid en god idé å sørge for at grenen du vil beholde er oppdatert med de nyeste endringene fra GitHub.
    git pull origin main

3. Merge den andre grenen (f.eks. master) inn i main:

  • Nå kan du merge endringene fra master inn i main.
    git merge master
  • Hvis det ikke er noen konflikter, vil dette automatisk kombinere endringene fra master inn i main.

4. Løs eventuelle merge-konflikter:

  • Hvis det er konflikter mellom filene i master og main, må du manuelt løse disse.
  • Git vil gi deg en liste over filer med konflikter, og du må redigere disse filene for å bestemme hvilke endringer som skal beholdes.
  • Etter å ha løst konfliktene, må du legge til de redigerte filene:
    git add <filnavn>
  • Fullfør merget med:
    git commit -m "Resolved merge conflicts between master and main"

5. Push endringene til GitHub:

  • Etter at merget er fullført, push endringene tilbake til GitHub.
    git push origin main

6. (Valgfritt) Slett den andre grenen (master):

  • Hvis du bestemmer deg for at du ikke lenger trenger master, kan du slette den:
    git branch -d master
    git push origin --delete master

Eksempel på hele prosessen:

git checkout main
git pull origin main
git merge master
# Løs eventuelle konflikter her
git push origin main
# (Valgfritt) Slett master-grenen
git branch -d master
git push origin --delete master

Hva skjer etter merge?

Når du har merget master inn i main, vil main inneholde alle endringene fra begge grenene. Hvis du velger å slette master, vil du bare ha én gren å jobbe med, noe som kan gjøre det enklere å administrere prosjektet ditt.

Når bør du merge?

Du bør vurdere å merge grener når:

  • Du har fullført en funksjon eller et sett med endringer på en separat gren.
  • Du vil samle all utvikling på én gren for å forenkle vedlikeholdet.
  • Du har løst konflikter eller eksperimentert i en separat gren og er klar til å integrere dette i hovedgrenen.

For å løse dette problemet og sikre at main-grenen har alt innholdet fra master, kan du følge disse trinnene:

1. Sjekk ut main-grenen:

  • Hvis main-grenen ikke finnes lokalt ennå, kan du sjekke den ut fra den eksterne origin:
    git checkout -b main origin/main

2. Merge master inn i main:

  • Etter at du har sjekket ut main, kan du merge master inn i main:
    git merge master --allow-unrelated-histories
  • Flagget --allow-unrelated-histories er nødvendig fordi de to grenene har forskjellige historikker.

3. Løs eventuelle konflikter:

  • Hvis det er noen konflikter, må du løse dem manuelt.
  • Etter å ha løst konfliktene, legg til de oppdaterte filene:
    git add .
  • Fullfør merget med:
    git commit -m "Merged master into main with resolved conflicts"

4. Push main til GitHub:

  • Når merget er fullført og alle konflikter er løst, push main tilbake til GitHub:
    git push origin main

5. (Valgfritt) Sett main som standardgren:

  • Hvis main nå inneholder alt du trenger, og du vil sette den som standardgren, kan du gjøre det i GitHub-innstillingene for repoet ditt.

Oppsummering:

Disse trinnene vil sikre at main-grenen inneholder alt fra master. Dette vil forene de to historikkene og sørge for at du har én konsekvent gren å jobbe med.

⚠️ **GitHub.com Fallback** ⚠️