Repository
============
Template Projekte für das Carme-Kit sind auf `Gitlab `_ abgelegt.
Diese werden idealerweise von dem öffentlichen Repository
in das Private Repository geklont. Somit können die eigenen Softwarefortschritte mit Hilfe von
Git direkt versionsverwaltet werden.
Gitlab-Account einrichten
---------------------------
- Auf `gitlab.ti.bfh.ch `_ mit BFH-User und PW einloggen.
- SSH-Key erstellen und im Gitlab-Account ablegen
- `Anleitung `_ für die Erstellung der Keys
- Den Public-Key unter `profile/keys `_ ablegen
- Testen in einer Konsole
.. code:: bash
~ ssh git@gitlab.ti.bfh.ch
Welcome to GitLab, @!
Connection to gitlab.ti.bfh.ch closed.
Repository-Pfad holen
-----------------------
.. image:: _files/images/Screenshot_Clone.png
Klonen via Web-Gui
--------------------------------
Das Template-Projekt kann direkt in den eigenen Gitlab-Workspace importiert werden.
Als Repository-URL wird der Repository-Pfad eingesetzt. Username und Passwort müssen
angegeben werden. Zusätzlich muss ein Projektnamen angegeben werden.
.. image:: _files/images/Screenshot_ImportProject.png
Lokal herunterladen mit SmartGit
-----------------------------------
Um lokal mit Git zu arbeiten wird `Smartgit `_ empfohlen.
- Ein Projekt kann mittels *Repository->Clone (Shft+Ctrl+o)* geklont werden.
Hier muss der Repository-Pfad (git oder https)
angegeben werden.
.. image:: _files/images/Screenshot_Smartgit_Clone.png
- Bei *Selection* alles auswählen
- Bei *Local-Directory* den gewünschten Workspace angeben.
Projekt in STM32CubeIDE importieren
-------------------------------------
Nach erfolgreichem klonen des Projektes, kann es in den IDE-Workspace importiert werden.
- *File->Import...*
- *Existing Projects into Workspace* auswählen, Next
- Mittels *Browse...* Projekt auswählen und importieren
.. image:: _files/images/Screenshot_STM32Cube_Import.png
Arbeiten mit Git
-----------------
Jede grössere Änderung am Sourcecode sollte mittels einem Git-Commit gespeichert werden.
- In Smartgit das *Repository* auswählen.
- Nun werden alle modifizierten Files aufgelistet und die Änderungen können geprüft werden.
- Die Änderungen können mittels der Schaltfläche *Commit* akzeptiert werden.
Es empfiehlt sich, den Commit mit einer nachvollziehbaren *Commit Message* zu versehen.
- Mittels der Schaltfläche *Push* können die Änderungen auf den Gitserver (gitlab) hochgeladen werden.
- Arbeiten mehrere Personen im gleichen Repository, sollte nach einem *Commit* immer zuerst ein *Pull* vor einem *Push* durchgeführt werden.
Durch Drücken auf die Schaltfläche *Log* kann der Projektverlauf betrachtet werden.
Hier lassen sich Änderungen nachverfolgen und mit Rechtsklick->*Checkout* auf die Commits kann zurück zu älteren Versionen gesprungen werden.
Um mehr über Git zu lernen, empfiehlt sich die Seite `git-scm-com `_