feb 22, 2025

Git og SSH overblik 2

Når man så har fået oprettet sit Git repository lokalt, så skal man så overføre dette til fjern webstedet

For at arbejde videre på fjernkomputeren, skal man også have installeret ssh på computeren, på Windows er den installeret i den indbyggede PowerShell. Ellers skal man hente den ned for at installere

Følgende gælder for webhotellet one.com. Og for andre kan der være lidt anderledes syntaks. Følg følgende trin:

  1.  Opret adgang til fjern-webområde kontrolpanelet på webhotellet ved at aktivere adgangen til SSH/AFTP ved at markere markere den som aktiv. Her kan du også se brugernavn og servernavn, i mit tilfælde kg-epel.dk  og server ssh.kg-epel.dk
  2. Klik på Send for at få en adgangskode.
  3. Åbn en terminal, hvor ssh er installeret og tast >brugernavn@servernavn, i mit tilfælde bliver det til
    >kg-epel.dk@ssh.kg-epel.dk
  4. Første gang man logger på skal man give tilsagn om at forbindelsen er sikker, og svarer >yes, derefter beder den om koden,
    Og man skriver sin kode og trykker enter
  5. Hvis alt er gået godt, så er man nu nået til fjernkomputerens web-område
  6. Skriv >cd /www retur for at komme ind i dit domæneområde. hvis du udfører ls – så lister den alle mapper med blåt, filer med grønt og enkelte simple filer med hvidt, – hvis du udfører dir-kommando får du ikke denne klassifikation
  7. Nu skal du bruge kommandoen mkdir til at oprette en mappe, som er fjernkomputerens repository for underdomænet, fictional, det har jeg kaldt “fictionalRepo”. Man kan bruge kommandoen >pwd for se den aktuelle sti.
  8. Og vi skal så oprette repositoret, som bare repository. Udfør >cd fictionalRepo
  9. og >git init –bare   Serveren svarer “initialized empty Git repository in /www/fictionalRepo” “bare” betyder her “tomt repository”
    Repositoriet er oprettet, og indeholder en række mapper, bl. a hooks.
  10. vi udfører nu >cd hooks og derefter >touch post-receive. Noter, at navnet er obligatorisk
  11. I denne fil skal der angives vejen fra fjern-repositoriet til, man kan bruge editeringsredskabet: nano ved
    >nano post-receive Du kommer ind i et gammeldags editeringsprogram, og i mit tilfælde skal filen indeholde følgende:
    #!/bin/bash
    git –work-tree=/www/fictional/wp-content –git-dir=/www/fictionalRepo checkout -f
  12. #!/bin/bash i første linje betyder at filen skal opfattes som en bat fil (men i Linux). Her skal man så give filen lov til at eksekvere ved:
    >chmod +x post-receive
  13. Du gemmer indholdet og går ud af filen og ud af ssh, så du (stadigt i PowerShell i den mappe, der indeholder dit lokale repository
  14. Derefter skal du oprette en forbindelse fra det lokale repository til fjern repositoriet ved at udføre
    >git remote add livecom ssh://kg-epel.dk@ssh.kg-epel.dk/www/fictionalRepo
  15. Det sidste vi skal udføre er at ændre navnet fra det lokale repository til at være det samme som fjern-repositoriet. Det gør vi med:
    >gik checkout -b master. Når det så er lavet, så kan du udføre
  16. >git push livecom master

Uheldigvis virker bat-programmet ikke i one.com, men man kan eksportere ændringerne videre ved at udføre fra fjern-repositoriet som følger >sh hooks/post-receive 

 

 

 

Git repository lokalt.

Nøgle URL for One.Com webhotel.

Fjern repository skal refereres som følger (når man uploader fra lokal computer)
>git remote add livecom ssh://kg-epel.dk@ssh.kg-epel.dk/www/fictionalRepo
Og her hedder forbindelsen “livecom” og man refererer URL ved først at angive ssh://  efterfulgt af brugernavn@ssh-server og stien til repositoriet, ( som man har oprettet i forvejen).

For at flytte opdateringen fra fjern repositoriet til webstedet, skal man udføre filen post-receive, som er i mappen hooks i fjernrepositoriet. Der skal stå som følger i denne fil, når det er på one.com;

#!/bin/bash
git –work-tree=/www/fictional/wp-content –git-dir=/www/fictionalRepo checkout -f

Og når man opdaterer fra lokal til fjern computer

>git push livecom master
Her er det så meningen, at det lokale repository opdateres til fjern repositoriet, som via hooks/post-receive opdaterer websiden med de nye data. Altså det der sker er

  1. Man ændrer på lokal-webstedet
  2. Ændringerne tilføjes i lokal repositoriet, og committeres
  3. Lokal repository uploades til fjern repository
  4. Opdateringerne i fjernrepository opdateres til fjernwebstedet
    Første gang login på ssh
    Første gang man logger på ssh på fjernkomputeren

    Klik på billedet for at se i fuld størrelse.

     

 

 

 

More Details
feb 15, 2025

Git og SSH overblik 1.

I stedet for at bruge ftp eller sftp, så er opdatering af websider via Git og ssh en mere sikker løsning. Det foregår på følgende måde.

For at teste om git er installeret skriv
>git -v (return)

Hvis git er installeret får du versionsnummeret, fx som ovenfor, og ellers kender den ikke kommandoen.
Hvis ikke, så går man til webstedet, git-scm.com/, downloader git, og installerer. Måske skal man også opdatere path-variablen.

Når git er installeret er der nogle indledende øvelser, man skal foretage, da det er første gang. Skriv:

>git config –global user.name “dit navn”  og
>git config –global user.email “din email”

Når man skal bruge git, skal man associere den mappe, der skal spores (track). Og det anbefales kun at spore sine egne ændringer/udvikling. Så i WordPress miljø er det hverken wp-admin eller wp-include

  1. På det lokale websted opretter man nu et repository. I WordPress giver det god mening at lave den ud fra wp-content. Eftersom man ikke skal lave noget i Adminstrationen. eller i wp-includes. Fordi at  ingen af selve webændringerne findes der lokalt. Løsningen bliver derved, når vi snakker om WordPress, at vi så følger wp-content.
  2. I Visual Studio Code = VS Code. skal man åbne den mappe man ønsker at følge (file – open folder), der skal man have overblik over de mapper, der findes. Og når man så åbner terminal, så er pointeren netop på denne mappe
  3. Skriv
    wp-content>git init    – og så laver den en mappe, som hedder   wp-content/.git, som er et repository
    Projektet (eller grenen) hedder “main”
  4. Nu skal du vælge mappe(r), som ikke skal følges. Disse skal listes i en fil i mappe wp-content, som hedder .gitignore
    Klik her for forstørrelse
  5. Du kan så adde en mappe eller fil ad gangen, eller du kan tage dem alle i et hug fx
    wp-content>git add mu-plugins    – eller det hele
    wp-content>git add -A. Hvis du nu udfører >git status   – så lister den alle filer, der skal ind i repositoriet
  6. Så nu har vi specificeret hvilke filer der skal med. For at effektuere det udfører man en commit:
    wp-content>git commit -m “Vi committerede filerne til repositoriet”.
  7. Hvis så laver noget om uden at udføre en commit, så kan du få det hele tilbage ved at udføre
    wp-content>git checkout — .   Derved bringes alle filer i track til samme tilstand, som de blev tilføjet og committeret

Billedet viser hvilke mappe og filer er listet i filen .gitignore

Git og GitHub handler om repository, hvor alle ændringer skal kommitteres, hvilket vil sige, at der føres versionskontrol, med det pågældende repository.

Jeg har selv implenteret Git og ssh via Visual Studio Code, – og begge skal installeres inden det kan bruges. For at kontrollere, at du har git installeret, så skal du åbne PowerShell

 

 

For at arbejde videre på fjernkomputeren, skal man også have installeret ssh på computeren, på Windows er den installeret i den indbyggede PowerShell.

Git repository lokalt.

Nøgle URL for One.Com webhotel.

Fjern repository skal refereres som følger (når man uploader fra lokal computer)
>git remote add livecom ssh://kg-epel.dk@ssh.kg-epel.dk/www/fictionalRepo
Og her hedder forbindelsen “livecom” og man refererer URL ved først at angive ssh://  efterfulgt af brugernavn@ssh-server og stien til repositoriet, ( som man har oprettet i forvejen).

For at flytte opdateringen fra fjern repositoriet til webstedet, skal man udføre filen post-receive, som er i mappen hooks i fjernrepositoriet. Der skal stå som følger i denne fil, når det er på one.com;

#!/bin/bash
git –work-tree=/www/fictional/wp-content –git-dir=/www/fictionalRepo checkout -f

Og når man opdaterer fra lokal til fjern computer

>git push livecom master
Her er det så meningen, at det lokale repository opdateres til fjern repositoriet, som via hooks/post-receive opdaterer websiden med de nye data. Altså det der sker er

  1. Man ændrer på lokal-webstedet
  2. Ændringerne tilføjes i lokal repositoriet, og committeres
  3. Lokal repository uploades til fjern repository
  4. Opdateringerne i fjernrepository opdateres til fjernwebstedet

 

 

 

More Details