{"id":3092,"date":"2023-11-21T12:10:14","date_gmt":"2023-11-21T11:10:14","guid":{"rendered":"https:\/\/www.saskialund.de\/?p=3092"},"modified":"2024-08-18T19:26:53","modified_gmt":"2024-08-18T17:26:53","slug":"meistern-sie-git-und-ssh-ein-leitfaden-auf-dem-weg-zum-profi-im-code-management","status":"publish","type":"post","link":"https:\/\/isla-stud.io\/no\/howtos-anleitungen\/meistern-sie-git-und-ssh-ein-leitfaden-auf-dem-weg-zum-profi-im-code-management\/","title":{"rendered":"Mestre Git og SSH: En guide p\u00e5 veien til \u00e5 bli profesjonell innen kodeh\u00e5ndtering"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Velkommen til denne veiledningen om versjonskontroll og samarbeid i programvareutvikling. Du l\u00e6rer \u00e5 sette opp et privat Git-repositorium og synkronisere det med en m\u00e5lmappe via SSH. Dette oppsettet egner seg godt til utvikling av WordPress-utvidelser, temaer eller andre deler av kodebasen der detaljert endringshistorikk og samarbeid er avgj\u00f8rende.<\/p>\n\n\n\n<div class=\"wp-block-columns blindhelper is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\t\t\t<div id=\"rank-math-rich-snippet-wrapper\" class=\"\">\n\n\t\t\t\t\t\t<h5 class=\"rank-math-title\"> <\/h5>\n\t\t\t\t<div class=\"rank-math-review-image\">\n\t\t\t<img decoding=\"async\" src=\"https:\/\/isla-stud.io\/wp-content\/uploads\/2023\/11\/git-ssh-repo-leitfaden_blog-300x200.jpg\" alt=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">\n\t\t<\/div>\n\t\t<div class=\"rank-math-review-data\">\n\n\t\t\t<p><\/p>\n\t\t\n\t\t\t<p>\n\t\t\t<strong>Course Provider: <\/strong>\n\t\t\tPerson\t\t<\/p>\n\t\t\n\t\t\t<p>\n\t\t\t<strong>Course Provider Name: <\/strong>\n\t\t\tSaskia Teichmann\t\t<\/p>\n\t\t\n\t\t\t<p>\n\t\t\t<strong>Course Provider URL: <\/strong>\n\t\t\thttps:\/\/isla-stud.io\/\t\t<\/p>\n\t\t\n\t\t\t<p>\n\t\t\t<strong>Course Mode: <\/strong>\n\t\t\tOnline\t\t<\/p>\n\t\t\n\t\t\t<p>\n\t\t\t<strong>Course Workload: <\/strong>\n\t\t\tPT30M\t\t<\/p>\n\t\t\n\t\n\t\n\t\n\t\n\t\n\t\t\t<p>\n\t\t\t<strong>Course Type: <\/strong>\n\t\t\tGratis\t\t<\/p>\n\t\t\n\t\n\t\n\t\n<\/div>\n\n\t\t\t<\/div>\n\t\t\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Forberedelser til denne veiledningen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00f8r du begynner, m\u00e5 du s\u00f8rge for at det lokale oppsettet ditt oppfyller f\u00f8lgende krav:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Git installert<\/strong>: Kontroller at Git er installert b\u00e5de p\u00e5 maskinen din og p\u00e5 den eksterne serveren du vil bruke. Hvis ikke, kan du laste ned Git fra <a href=\"https:\/\/git-scm.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">git-scm.com<\/a> og installere det.<\/li>\n\n\n\n<li><strong>SSH-tilgang<\/strong>: S\u00f8rg for at du har SSH-tilgang til serveren du vil arbeide med.<\/li>\n\n\n\n<li><strong>Tekstredigeringsprogram<\/strong>: Et enkelt tekstredigeringsprogram som Nano, Vim eller lignende b\u00f8r v\u00e6re installert.<\/li>\n\n\n\n<li><strong>Internettforbindelse<\/strong>: Du trenger en stabil internettforbindelse for \u00e5 arbeide med eksterne repositorier.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Sette opp et privat, lokalt Git-repositorium<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00f8rst oppretter du ditt eget private Git-repositorium. Det blir det sentrale stedet der alle versjonene av koden din lagres.<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">git init MeinProjekt  # Initialiserer et nytt Git-repositorium med navnet 'MeinProjekt'\ncd MeinProjekt        # Bytter til den nyopprettede mappen\ngit add .             # Legger alle gjeldende filer til i repositoriet\ngit commit -m \"Erster Commit\" # Oppretter en 'commit' med meldingen 'Erster Commit'<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Synkronisere Git-repositoriet med en m\u00e5lmappe via SSH<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Her synkroniserer du det lokale Git-repositoriet med en ekstern mappe via SSH. Da kan du lagre arbeidet ditt trygt p\u00e5 en ekstern server og dele det med teamet.<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">ssh root@ihr-server.com \"mkdir \/pfad\/zum\/zielverzeichnis\" # Oppretter en mappe p\u00e5 serveren\nssh root@ihr-server.com \"cd \/pfad\/zum\/zielverzeichnis; git init --bare\" # Initialiserer et 'bare' Git-repositorium p\u00e5 serveren\ngit remote add origin ssh:\/\/root@ihr-server.com\/pfad\/zum\/zielverzeichnis # Kobler ditt lokale repositorium til det eksterne repositoriet. Det eksterne repositoriet f\u00f8res n\u00e5 under identifikatoren \"origin\". Du kan ogs\u00e5 bruke en annen identifikator.\ngit push origin master # Sender dine lokale endringer til det eksterne repositoriet<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Arbeide med GitHub<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hvis du foretrekker GitHub, eller vil koble til enda et eksternt repositorium, kan du ogs\u00e5 knytte det lokale repositoriet til et GitHub-repositorium:<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">ssh root@ihr-server.com \"mkdir \/pfad\/zum\/zielverzeichnis\" # Oppretter en mappe p\u00e5 serveren\nssh root@ihr-server.com \"cd \/pfad\/zum\/zielverzeichnis; git init --bare\" # Initialiserer et 'bare' Git-repositorium p\u00e5 serveren\ngit remote add origin ssh:\/\/root@ihr-server.com\/pfad\/zum\/zielverzeichnis # Kobler ditt lokale repositorium til det eksterne repositoriet\ngit push origin master # Sender dine lokale endringer til det eksterne repositoriet<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Automatisk pushing av utgivelser til SSH-m\u00e5let<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Automatiser utrullingen av endringene dine p\u00e5 serveren med en post-receive-hook:<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">ssh root@ihr-server.com  # Kobler til serveren\ncd \/pfad\/zum\/zielverzeichnis  # Bytter til m\u00e5lmappen\nnano hooks\/post-receive  # Oppretter eller redigerer 'post-receive'-hook-skriptet<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Legg inn f\u00f8lgende skript for automatisk \u00e5 ta i bruk endringene i arbeidsmappen p\u00e5 serveren:<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">#!\/bin\/sh\nGIT_WORK_TREE=\/pfad\/zum\/arbeitsverzeichnis git checkout -f  # Oppdaterer arbeidsmappen p\u00e5 serveren med de nyeste endringene\nchown -R benutzername:gruppenname \/pfad\/zum\/arbeitsverzeichnis  # Endrer eieren av filene i arbeidsmappen\nchmod +x hooks\/post-receive  # Gj\u00f8r skriptet kj\u00f8rbart\nValgfritt:\nchown -R 33:33 \/pfad\/zum\/arbeitsverzeichnis # S\u00f8rger for at filene og mappene i arbeidsmappen tilordnes en bestemt serverbruker og serverbrukergruppe. Jeg bruker her 33:33, fordi dette er ID-ene til webserverbrukeren min og webserverbrukergruppen www-data.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Hente endringer fra SSH-m\u00e5let inn i det lokale repositoriet<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Slik overf\u00f8rer du endringer som er gjort p\u00e5 SSH-m\u00e5lserveren, til det lokale repositoriet:<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">ssh root@ihr-server.com  # Kobler til serveren\ncd \/pfad\/zum\/arbeitsverzeichnis  # Bytter til arbeidsmappen p\u00e5 serveren\ngit add .  # Legger alle nye eller endrede filer til i commit-en\ngit commit -m \"Beschreibung der \u00c4nderungen\"  # Oppretter en ny commit med endringsbeskrivelsen din\ngit push origin master  # Sender endringene til det eksterne repositoriet\ngit pull origin master  # Henter de nyeste endringene fra det eksterne repositoriet inn i ditt lokale repositorium<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Hente endringer fra det eksterne GitHub-repositoriet inn i det lokale repositoriet<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Til slutt l\u00e6rer du \u00e5 hente endringer fra det eksterne GitHub-repositoriet inn i det lokale repositoriet p\u00e5 en effektiv m\u00e5te. Det er s\u00e6rlig nyttig n\u00e5r flere i et team arbeider samtidig med ulike deler av et prosjekt, for eksempel under utvikling av kompleks programvare eller n\u00e5r dere lager et WordPress-tema eller en utvidelse sammen. Ved \u00e5 oppdatere det lokale repositoriet jevnlig s\u00f8rger du for at du alltid har den nyeste versjonen av det felles arbeidet.<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">git fetch origin master  # Henter den nyeste informasjonen fra GitHub-repositoriet\ngit merge origin\/master  # F\u00f8rer endringene fra GitHub-repositoriet inn i ditt lokale repositorium<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Avslutning: Vi utvikler oss sammen ved \u00e5 dele og l\u00e6re<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vi har kommet til slutten av veiledningen, og jeg h\u00e5per denne innf\u00f8ringen i Git og SSH har v\u00e6rt nyttig for deg. \u00c5 mestre disse verkt\u00f8yene styrker ikke bare dine egne ferdigheter som utvikler, men legger ogs\u00e5 til rette for mer effektive teamprosjekter og bedre samarbeid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Del gjerne tankene, erfaringene eller sp\u00f8rsm\u00e5lene dine i kommentarfeltet. Har du allerede erfaring med Git og SSH? Har du st\u00f8tt p\u00e5 bestemte utfordringer, eller har du tips du vil dele med andre? Tilbakemeldingene dine er verdifulle b\u00e5de for meg og for andre som leser artikkelen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Det du deler, kan hjelpe noen med \u00e5 l\u00f8se et problem eller se noe fra en ny vinkel. Jeg gleder meg til \u00e5 h\u00f8re fra deg!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Til neste gang: Behold nysgjerrigheten, og engasjer deg i kodingens verden! \ud83c\udf1f\ud83d\udc68\u200d\ud83d\udcbb\ud83d\udc69\u200d\ud83d\udcbb<\/p>","protected":false},"excerpt":{"rendered":"<p>Oppdag verdenen av Git og SSH! L\u00e6r hvordan du oppretter ditt eget Git-repositorium, synkroniserer med en SSH-server og jobber effektivt i team.<\/p>","protected":false},"author":1,"featured_media":3101,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_isla_series_order":0,"_isla_series_term_id":0,"footnotes":""},"categories":[19,13,20],"tags":[657,658,659,660],"isla_series":[],"class_list":["post-3092","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos-anleitungen","category-ratgeber","category-tipps-tricks","tag-git","tag-github","tag-ssh","tag-wordpress-entwicklung"],"acf":[],"_links":{"self":[{"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/posts\/3092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/comments?post=3092"}],"version-history":[{"count":11,"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/posts\/3092\/revisions"}],"predecessor-version":[{"id":3255,"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/posts\/3092\/revisions\/3255"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/media\/3101"}],"wp:attachment":[{"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/media?parent=3092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/categories?post=3092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/tags?post=3092"},{"taxonomy":"isla_series","embeddable":true,"href":"https:\/\/isla-stud.io\/no\/wp-json\/wp\/v2\/isla_series?post=3092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}