Gebruikershulpmiddelen

Site-hulpmiddelen


werkinstructies:git:gitlab-discipline

Verschillen

Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.

Link naar deze vergelijking

Beide kanten vorige revisie Vorige revisie
Volgende revisie
Vorige revisie
werkinstructies:git:gitlab-discipline [2025/09/04 11:43]
abel [Branch purpose]
werkinstructies:git:gitlab-discipline [2025/09/04 16:19] (huidige)
abel [Mergeing]
Regel 1: Regel 1:
 ====== Git werkwijze en discpline ====== ====== Git werkwijze en discpline ======
 +Git is een repository voor code die wijzigingen en versies bijhoudt, ontwikkeld door Linus Torvalds, die ook Linux begonnen is.
  
-===== Branch purpose =====+De onderdelen zijn de gitserver, dat is je remote, ook wel origin, de git software die lokaal draait op de plek waar je de bewerkingen doet. wijzigingen die je doet doe je lokaal.
  
-De branch **main** (in oudere repositories ook wel **master**) wordt gebruikt voor productie. Hierin bevindt zich dus __alleen__ productie waardige code.+de maniere waarop je wijzigingen doorvoert in de gitserver staat hieronder beshreven. 
 + 
 + 
 +===== voorbereiding ===== 
 +Het is handig om voor de lokale repositories, op de werkplek waar je gaat bewerken (Laptop of steppingstone/ansible server), een directory aan te maken om het overzichtelijk te houden, er zijn namelijk nogal wat repositories.\\ 
 +Zelf kies ik meestal voor een directory ''~/gitrepos/'' met daarin weer een directory per omgeving b.v.''~/gitrepos/nationaalarchief/''. en vervolgens ''cd ~/gitrepos/nationaalarchief/''
 + 
 +instaleer git. 
 + 
 +Stel je persoonlijke gegevens in:\\ 
 +''%%git config --global user.name "Your Name"%%''\\ 
 +''%%git config --global user.email "your_email@whatever.com"%%'' 
 + 
 + 
 +===== cloning ===== 
 + 
 +===== Branching ===== 
 + 
 + 
 +==== Branch purpose ==== 
 + 
 +De branch **main** (in oudere repositories ook wel **master**) wordt gebruikt voor productie. Hierin bevindt zich dus __alleen productie waardige code__.
 <note warning>edit nooit in de main/master branch</note> <note warning>edit nooit in de main/master branch</note>
  
 Voor werk aan de code maak je altijd een nieuwe branch aan vanuit **main**. Voor werk aan de code maak je altijd een nieuwe branch aan vanuit **main**.
  
-===== Branch nameing =====+==== Branch nameing ====
  
-De naamgeving van de branch waarin je werkt is een samenstelling van een topdesk ticketnummer of een Jira userstory nummer en de naam van degene die er aan werkt.+De naamgeving van de branch waarin je werkt is vrij in te vullen, maar het is handig om hier een topdesk ticketnummer of een Jira userstory nummer in te verwerken zodat het eenvoudiger is om de reden van veranderingen terug te vinden.
  
-===== Braching =====+zorg dat je branch niet te lang blijft bestaan (liefst alleen op de dag dat je er aan werkt), zo zitten wijzigingen van verschillende mensen elkaar het minst in de weg.
  
-Doe je werk het liefst in een apparte branch. zo zitten wijzigingen van verschillende mensen elkaar het minst in de weg en is het ongedaan maken van alle wijzigingen die in voor 1 change gedan zij in 1 keer te doen.+==== Branch aanmaken ====
  
-hoe maak je in een bash shell een nieuwe branch aan:+Hoe maak je in een bash shell (of een VSCode terminal) een nieuwe branch aan:
  
-  * clone de repository van het gitlab project waar je aan gaat werken: ''git clone git@sv1603280.frd.shsdir.nl:ansibletower/ansible-sudoers.git'' +  * clone de repository van het gitlab project waar je aan gaat werken, b.v.:\\ ''git clone git@git.nationaalarchief.net:tb/openshift/minio-manager/surf-s3-resources.git'' 
-  * zorg dat je in de **sios** branch bent: ''git checkout sios'' +  * zorg dat je in de **main** branch bent:\\ ''git checkout main'' 
-  * zorg dat je de laatste versie lokaal hebt: ''git pull origin sios'' +  * zorg dat je de laatste versie lokaal hebt:\\ ''git pull origin main'' 
-  * maak lokaal een nieuwe branch vanuit deze sios branch (als voorbeeld hier een Topdesk ticket W220902489): ''git checkout -b W220902489_abel''+  * maak lokaal een nieuwe branch vanuit deze **main** branch (als voorbeeld hier een Jira ticket TEAMINFRA-11):\\ ''git checkout -b TEAMINFRA-11 rclone test buckets''
   * doe je wijzigingen.   * doe je wijzigingen.
-  * voeg eventueel nieuwe files toe door: ''git add -A'' +  * voeg eventueel nieuwe en gewijzigde files toe door:\\ ''git add .'' 
-  * commit de wijzigingen in alle files: ''git commit -am "commentaar over wijziging"'' +  * commit de wijzigingen in alle files:\\ ''git commit -am "commentaar over wijziging"'' 
-  * Doe je een push naar de GitLab server van jou branch : ''git push origin W220902489_abel''+  * Doe je een push naar de GitLab server van jou branch:\\ ''git push origin TEAMINFRA-11_rclone_test_buckets'' 
 + 
 +Nu is je werk opgeslagen in je eigen remote branch (dwz op de git server) 
 + 
 +===== Mergeing ===== 
 + 
 +Als je alle wijzigingen hebt doorgevoerd is het tijd om je eigen branch te mergen naar **main**. 
 + 
 +Dit doe je op de GitLab server. 
  
-op dit moment is je werk opgeslagen in je eigen remote branch (dwz op de git server)+Aan de repository is vaak een script toegevoegd dat een Pipeline start waarin een runner een aantal handelingen uitvoerd op productie.
  
-===== Merge Request =====+==== Merge request ====
  
-Als je alle wijzigingen hebt doorgevoerd en vanuit je eigen branch hebt getest is het tijd om deze te mergen naar **sios** .+Nadat je in de vorige stap succesvol je lokale branch naat gitlab hebt gepushed zie je in de output een link b.v.: 
 +<code> 
 +remote: To create a merge request for rclone-infra-acpt-2eronde, visit: 
 +remote:   https://git.nationaalarchief.net/tb/openshift/minio-manager/surf-s3-resources/-/merge_requests/new?merge_request%5Bsource_branch%5D=rclone-infra-acpt-2eronde 
 +</code>
  
-Dit doe je op de GitLab server. Log in en ga naar de repository waar je aan werkt. bovenaan zul je je laatste push zien:+als je die link opent en inlogt
  
 +-----------------------------------------------------------------
 {{ :werkinstructies:git:git-discipline-1.png?900|}} {{ :werkinstructies:git:git-discipline-1.png?900|}}
  
werkinstructies/git/gitlab-discipline.1756979019.txt.gz · Laatst gewijzigd: 2025/09/04 11:43 door abel