Så typiskt, jag skulle ju egentligen skriva ett till blogginlägg om #php men nu råkade det bli en resa in i Git när jag skulle köra igång ett nytt projekt.
Men det är ju inte fy skam tänkte jag och fångade upp allt som jag gjorde även denna gång, så det blev en slags fortsättning/vidareutveckling av det tidigare inlägget En nybörjares guide till Git.
Så starta upp ett nytt Git projekt och få upp det på Github – Hur gör jag?
- Skapa en mapp lokalt, jag döper min till php-projekt igenom att ta upp Terminalen och köra
mkdir php projekt
.- Och som alla bra TV-kockar så har jag ju faktiskt redan förberett lite, eller ska jag säga varit så duktig att jag tidigare skapat en mapp som heter php-projekt, som alla tidigare försök ligger i. Så du får bortse från det eller så är du precis som jag och det här makar sense. Det som inte makar sense, det bortser du från eller hittar andra resurser för – Deal?
- Kör
git init
i mappen php-projekt- Skapa ett nytt git repo av en lokal mapp, jag valde att kika på den här resursen för att bli pekad åt rätt håll: https://www.atlassian.com/git/tutorials/setting-up-a-repository
- Output av att köra git init:
- Skapa ett nytt git repo av en lokal mapp, jag valde att kika på den här resursen för att bli pekad åt rätt håll: https://www.atlassian.com/git/tutorials/setting-up-a-repository
- För att kolla vad som finns att pusha upp till Github så kör du
git status
Gitignore och varför men också lite hur?
- Ja just ja, Apple (ja, jag är en Mac användare) och lägger alltid till filen .DS_Store och den behöver inte vara med upp på Github, då alla Mac användare har redan en egen sådan, eller så är du användare av något annat och då klarar du dig utan den filen också. Så vi lägger till en .gitignore fil i projektet, så att vi kan bestämma vad som ska upp och inte, få lite kontroll på vårt projekt.
- Om du är nyfiken och vill läsa mer om .gitignore filer, så hittade jag denna resurs https://www.freecodecamp.org/news/gitignore-file-how-to-ignore-files-and-folders-in-git/
- Gå tillbaka till rooten och skapa filen med touch. Kör du
ls
så kan du inte se den nu, för när den börjar med . så är det en dold fil. - Kör då
ls -la
ellerls -a
(flagga kallas det när du sätter ett – framför ett kommando i terminalen såsom på -la och -a), så kan du nu se din nya fil:
- Så nu lägger vi till alla filer som vi vill ignorera i det här gitprojektet. Vi kan också lägga till hela repos (eller ja, mappar är det ju, men kallas repos).
- Om du har glömt att lägga till en fil, du ser vilka som finns när du kör
git status
. Så lägger du lätt till den, sparar och körgit status
igen så ser du att den är borta nu.
- Nu ska vi köra
git add
och sedangit commit
på den här filen och pusha den.
Git push på ett nytt repo
- Det är lite klurigt att veta hur en ska göra för att koppla ihop ditt github konto med det lokala git repot som du har. Det är ju dels för att du kan ju välja vilket ställe som helst att pusha upp dina repos till, det behöver inte vara github. Men det är vad jag kommer använda och då funkar det såhär.
- Jag gick på instruktionerna som jag fick ifrån git när jag körde först add, git commit och sedan git push, då blev det fel 💣 (ta med dig det ordet, fel. Vi alla gör det, så hittar vi en lösning och lyckas. Så enkelt och det kommer hända en miljon gånger om dagen som utvecklare):
- Så då får vi prova det här istället: https://www.atlassian.com/git/tutorials/setting-up-a-repository#:~:text=Configuration %26 set up%3A git config
- Jag har skapat ett nytt repo på Github som heter php-projekt
- Så ska jag försöka pusha upp den mapp som finns lokalt till denna remote mapp och därmed synka dem. På github finns det då instruktioner:
- https://github.com/cjsall/php-projekt, så följer jag denna:
- https://github.com/cjsall/php-projekt#:~:text=or push an-,existing,-repository from the som är denna instruktion:
- När jag körde de kommandona ovan så ser det ut såhär:
- Och så kör jag
git branch
bara för att se vilka branches som finns, så att jag ser att jag skapat en ny som jag ville: - Då ser vi att jag mycket riktigt lyckats skapa main branchen. Och för att lista ALLA branches, för när du kör git branch så listar du bara lokala branches, så kör vi
git branch -a
. Då ser vi att det finns en remote och en lokal branch:
- Och när jag körde kommandot
git push -u origin main
så sa jag ju att jag ville pusha upp den kod som jag har lokalt till det här repot. Så vi kikar på Github i repot php-projekt om jag lyckats:
- Jajamensan – Success! 🥳
Git config
- Samtidigt som vi gör en del git specifika grejer så kan vi dubbelkolla git configen. Här kan en se till att author av det här git repot är rätt inställt ex. Jag är ju author (den som kommer pusha upp kod då och då, då är jag författaren av det här repot från just den här datorn då dessa inställningar är lokala).
- En kan göra inställningar på sin git config igenom att skriva git kommandon i terminalen, ex
git config --global core.editor "code --wait"
eller igenom att gå in på själva git config filen och ställa in saker där
- Jag väljer att ställa in saker i git config file
- Ex så vill jag använda nano som min default editor i det här projektet.
- Ställer in user/som automatiskt blir author på alla mina commits i git repot
- Det kan vara olika hur en gör en git pull, så jag väljer här som default att beteendet ska vara
git pull - - rebase
(vi kan prata mer om det i ett annat inlägg)
- En kan göra inställningar på sin git config igenom att skriva git kommandon i terminalen, ex
Varför lägga till en README.md?
- På github i ett nytt repo så hjälper Github dig igenom att be dig att lägga till en README.md fil. Detta kan du göra igenom att antingen själv skapa och pusha upp den filen från ditt lokala repo till ditt remote. Eller så kan du skapa den på ditt remote repo på Github och köra git pull för att få ned den till ditt lokala repo.
- Varför ska vi en ha en README.md fil?
- Se det som en IKEA instruktion till ditt projekt litegrann. Om människor vill titta på din kod (om det är publikt på Github), kanske kopiera ned den (om du tillåter det i projektet), eller bara kanske hjälpa dig koda och pusha upp till projektet så kan du här ge instruktioner om projektet.
- Du förklarar alltså vad är det för kodspråk som du använder, kanske vilken kodstandard du har valt att gå efter (det är ett helt annat blogginlägg känner jag, för har själv inte pejling på alla och varför). Eller så vill du bara ge instruktioner och vad det är för projekt, varför och hur en kan använda det, eller bidra.
- Vad en README.md fil är för något är en annan historia, rent tekniskt.
- .md står för Markdown. Någon kanske har hört det förut eller sett .md eller .markdown formatet på en fil förut.
- Återigen, det kanske är ett helt annat blogginlägg att gå in på Markdown också. Men i korthet, så kan du skriva anteckningar i Markdown format, det är ett lättvikts markup språk. Så typ som HTML som också är ett markup språk med sina taggar.
- I Markdown kan du använda #Någonting och skriva text efter, precis som du hade skrivit <h1>Någonting</h1> i HTML för att skapa en H1 rubrik.
- Är du mer nyfiken på Markdown redan nu och inte kan berga dig, så finns det lite mer info här på Github: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
- Och har du hört om Markdown förut och nu blir påmind om att du vill ordna upp dina anteckningar igenom att skapa taggar som kan automatisera ditt MD flöde, så finns ett bra blogginlägg från min kollega Anton här: https://46elks.se/blog/2021/12/17/extend-your-markdown-workflow-with-python
- Nu har jag lagt till en README.md fil och skrivit en början på den i alla fall:
- Och såhär ser det ut bakom kulisserna skrivit i Markdown:
Ja det här blev ju inte alls ett PHP inlägg 🤷🏻♀️
Men så kan det gå ibland. Det är matnyttigt för mig att testa, lära mig och samtidigt få upprepa det här. Det är först då som jag känner att saker liksom fastnar för mig. Så ni som följer med på den här resan får bara ge er till tåls för hur mycket eller lite som energinivån tillåter att göra sådan här upptäcksfärder och utflykter från vanliga arbetsuppgifter, så ser vi vars vi landar tillsammans till slut 👏🏼
Lämna ett svar