Latest / Coding Buddies | Tech & Dev-Mindset / Wieso du nicht auf Softwareversionierung verzichten solltest!
Transcript
- 0:00Einfach nur in der Nachbarstadt, dann wird es schwierig mit den
- 0:02USB Stick austauschen. Ne, das heißt du kannst über.
- 0:07Kannst du mal lustig vorbeibringen?
- 0:09Was machst dein Podcast rund um Softwareentwicklung und
- 0:13aktueller? Tag News herzlich willkommen.
- 0:29Geht schon los. Ja, ich glaub es geht los.
- 0:32OK, alles klar, herzlich Willkommen zu einer neuen Folge
- 0:35vom Coding Bodies Podcast. Ich bin natürlich wieder am
- 0:39Start der Fabi und auch noch der tolle Tino, also alle wieder
- 0:42dabei. Jawoll, Moin Moin.
- 0:45Wir sind vollzählig, kann also losgehen, würde ich sagen.
- 0:49Joa, also wir sind vollzählig. Stimmt alle 2 da, genau da
- 0:55können wir ja eine neue Folge aufnehmen.
- 0:56Was ist das heutige Thema? Das heutige Thema ist
- 1:01Versionskontrolle beziehungsweise Versionierung
- 1:04von Software. Das ist irgendwie sehr wichtiges
- 1:08Thema und da wollen wir einfach mal ein bisschen drüber
- 1:10quatschen. Ja, möchtest du anfangen?
- 1:15Warum ist das wichtig, warum ist das ein wichtiges Thema?
- 1:18Versionskontrolle, weil man. Uns das damals so beigebracht
- 1:24hat. Ich frage mich bis heute.
- 1:26Was macht man damit eigentlich? Was soll ich damit?
- 1:30Nein versions Kontrolle genau, also fangen wir mal grob an was
- 1:35ist das geht im Prinzip da darum seine Software in verschiedenen
- 1:40Versionen abbilden zu können. Dokumentieren zu können und eine
- 1:44Art Historie zu haben, das heißt die Weiterentwicklung des Source
- 1:48Codes abzubilden, einzelne, Ich nenne es mal Iteration.
- 1:53Gehst du da soweit mit? Ja, klingt ganz gut.
- 1:55Iteration ist ja auch sehr. Agil, ja alteration, das ist ein
- 1:59tolles Wort, das ist so vielseitig einfach, sprich wenn
- 2:04ich Änderungen an meiner Software mache, kann ich diese
- 2:08auf einem Server bestmöglich remote quasi.
- 2:13Abbilden und speichern und habe dann einzelne Iterationen meiner
- 2:17Software abgebildet. Das heißt, ich kann einzelne
- 2:19Änderungen nachvollziehen. Sehen und auch gegebenenfalls
- 2:24zurücksetzen ist auch ein wichtiger Punkt ist.
- 2:28Das klingt ja soweit erstmal ganz cool, fragen sich
- 2:31vielleicht Leute. Ja gut, ich kann auch einfach
- 2:33NUSB Stick nehmen und verschiedene Ordner meiner
- 2:36Software erstellen und dann einfach die Stände da rein
- 2:39laden, also rüber kopieren, ja das wäre damals auch ein Ansatz
- 2:44gewesen, aber ist natürlich nicht förderlich oder handhabbar
- 2:49das so zu machen. Ja, es wird dann relativ schnell
- 2:52schwierig. Ne, also nochmal vielleicht so
- 2:54ein kleines konkretes Beispiel zu nennen, wenn man jetzt zum
- 2:58sagt, Man hat seine Code Basis und man möchte ein neues Feature
- 3:01implementieren und jetzt kommt jemand und.
- 3:06Baut dieses Feature ein, ne, also sozusagen, es gibt einen
- 3:09Stand der Software und ohne Feature, jemand nimmt den Code,
- 3:13baut neues Feature ein, sagen wir mal feature x in den Code
- 3:17und dann wird sozusagen dieses Feature Remote als neue Version
- 3:23ne als ich sag jetzt mal Version 2 wenn es die andere die erste
- 3:28Version war eingecheckt, dann hat man 2 Versionen, Version 1
- 3:32ist sozusagen dann in diesem Beispiel ohne Feature X und
- 3:36Version 2 mit feature x. Was natürlich den Vorteil hat,
- 3:39dass du wenn Feature X total fehlerhaft ist und die ganze
- 3:43Software kaputt machen würde, du relativ schnell wieder einfach
- 3:46sagen kannst, o wir nehmen wieder.
- 3:47Stand also die Software Versionierung stand 1 ohne
- 3:51Feature x ne, also habe ich das so.
- 3:55Genau, also du kannst halt jede Änderung, die du verfügbar
- 3:59gemacht hast in Deiner Visions Controller Kontrolle, also
- 4:04nennen wir es mal Repository, da gehen wir mal auf den
- 4:07Fachbegriff ein, ja kannst du jederzeit wiederherstellen, was
- 4:11hat ein riesen Pluspunkt ist. Jetzt ist natürlich die Frage
- 4:14wenn ich alleine arbeite und es gibt nur eine Richtung der
- 4:17Entwicklung also ich integriere halt immer weiter, ich entwickle
- 4:21meine Software weiter, es kommen neue Features rein und ich hab
- 4:23halt einen sehr geradlinigen Verlauf.
- 4:26Dann könnte man ja jetzt sagen, ja, aber wozu soll ich alte
- 4:29Stände wiederherstellen? Deswegen würde ich einfach sehr
- 4:32gerne mal auf grobe Punkte eingehen, also übergeordnete
- 4:36Punkte, wann ist Sinn macht denn auch wirklich?
- 4:41Ein Tool für diese Source Code Management zu verwenden.
- 4:45Ja, dann halt doch mal den erst raus.
- 4:48Woran denkst du denn gerade? Weil ich gerade meinte, wenn man
- 4:51alleine arbeitet, mag das vielleicht noch funktionieren,
- 4:55am aber definitiv nicht mehr funktionieren wird ist, wenn du
- 4:59in einem größeren Team arbeitest beziehungsweise meiner Meinung
- 5:04nach 2 Leuten macht es schon gar keinen Sinn mehr davon
- 5:08abzuweichen, nicht irgendwelche Arten und weisen
- 5:11Versionskontrolle zu verwenden. Aber macht es keinen, also
- 5:14würdest du sagen, es ist nicht, also macht es nicht vielleicht
- 5:17trotzdem Sinn auch alleine n Repository zu nutzen, auch wenn
- 5:21man alleine. Arbeitet noch mal ein ganz
- 5:23anderer Punkt. Ende der Folge darauf eingehen.
- 5:27Ja OK, ehrlich gesagt, also lass uns mal.
- 5:30Erstmal stelle ich die Frage. Später noch mal.
- 5:32Genau. Stellen sie einfach mal, weil
- 5:34das wäre jetzt zu ausschweifend, weil da werde ich richtig
- 5:37emotional bei diesem Thema. Nein, also wie gesagt.
- 5:41Also ich finde halt, sobald man im Team arbeitet ist ein must
- 5:44have auf solche Tools zu setzen, definitiv allein wegen der
- 5:48Skalierbarkeit. Umso mehr Leute, je mehr Leute
- 5:50desto schwieriger wird es einfach ohne.
- 5:53Da muss man ja natürlich auch dazu sagen, dass.
- 5:57Also weil wenn du wenn ich jetzt zum Beispiel gar nicht wüsste,
- 6:00was so ein Repository für Vorteile hat, beispielsweise ne,
- 6:07wieso ist es dann wichtig, dass man das nutzen kann, also mit
- 6:10mehreren Leuten? Also angenommen ich denke jetzt,
- 6:13ob ich das jetzt lokal hab oder remote, was ist jetzt sehr große
- 6:16Unterschied wenn man jetzt mit mehreren Leuten dran arbeitet
- 6:19wenn ich jetzt mal ganz dumm. Stelle weißt du ja genau, das
- 6:21ist ja genau die Skalierbarkeit. Also viele Entwickler bedeutet
- 6:25viele Änderungen am Source Code an vielen Stellen.
- 6:28Bestmöglich natürlich an unterschiedlichen, was aber
- 6:31nicht mehr gewährleistet ist. Irgendwann, das heißt, du hast
- 6:34das Problem, dass Schnittstellen auftreten werden und Leute
- 6:39parallel an ihren eigenen Ständen am gleichen Source File
- 6:44sag ich mal arbeiten am gleichen Code und dann ist halt genau die
- 6:48Frage, wie willst du das jetzt wieder irgendwie geradlinig auf
- 6:51eine Struktur bringen, also auf einen Stand.
- 6:55Und um diese Konflikte, die da entstehen, zwangsläufig ne quasi
- 7:00Herr zu werden und das bewältigen zu können, sind genau
- 7:03solche Tools gedacht dafür. OK, also diese solche Tools
- 7:07quasi haben die Möglichkeit dir sozusagen einen, also die die
- 7:13Änderungen zwischen verschiedenen Ständen
- 7:15anzuzeigen. Das ist unter unter anderem ein
- 7:19Feature. Genau, du kannst natürlich immer
- 7:21sehen, was ist denn jetzt der Unterschied zu der allgemeinen
- 7:24Code Basis, wie du so schön genannt hast und meinem lokalen
- 7:27Stand oder ich sehe halt natürlich auch was sind die
- 7:30Änderungen meines Kollegen. Ja.
- 7:33Und wie passen die jetzt mit meinen eigenen Änderungen
- 7:36zusammen und wie kann ich das zusammenfügen, damit es einen
- 7:39gesamtheitlichen konkreten Software stand gibt?
- 7:43Ja, und da helfen diese Tools enorm, also wirklich so weit,
- 7:47dass ich sagen würde, ohne ist es schon fast gar nicht mehr zu
- 7:49bewältigen. Du redest einfach gar nicht,
- 7:51weißt, wo ist überhaupt was passiert.
- 7:54Ne, ja, also du redest jetzt immer von von Tools.
- 7:58Was gibt es denn so für? Tools ja, da gibt es sehr, sehr
- 8:03viele. Also ich habe auch in meiner
- 8:06bisherigen Karriere, sag ich mal viele verwendet schon, aber im
- 8:10Endeffekt lande ich persönlich auch persönliche Präferenz
- 8:13eigentlich immer bei Git. Weil mir die Art und Weise, wie
- 8:19Geld funktioniert, sehr gut gefällt.
- 8:21Man kann ja kurz mal drauf eingehen.
- 8:23Der Vorteil bei geht den ich sehe ist, dass es verteilt ist.
- 8:29Ein verteiltes System in dem Sinne, das heißt, du hast
- 8:32einerseits die Code Basis auf dem Server, also remote und
- 8:37gleichzeitig lokal bei dir und du musst halt nicht ständig
- 8:42Kommunikation mit dem Server betreiben, sondern kann es lokal
- 8:46auf deiner Code Basis arbeiten. Und erst beim Zurück spiegeln.
- 8:52Zum Server wird es dann halt entscheidend wieder diese
- 8:55Verbindung zu haben. Vorher bist du halt wirklich
- 8:57getrennt lokal auf deine eigenen Basis unterwegs.
- 9:01Das bringt viele Vorteile mit sich, beispielsweise, dass du
- 9:04einfach keine Internetverbindung brauchst.
- 9:05Ich meine, das ist heutzutage schwer vorstellbar, irgendwo
- 9:07keine Internetverbindung zu haben, aber das ist halt schon
- 9:12noch ein Vorteil. Einfach in meinen Augen.
- 9:14Also du kannst halt lokal machen was du willst, ohne andere Leute
- 9:17zu beeinflussen, weil du den Remote nicht tangiert.
- 9:20Damit aber du. Hast ja wenn du sagst, dass
- 9:23irgendwas remote liegt. Also wenn man jetzt zum Beispiel
- 9:26sagt, OK benutzt das Tool git, dann kannst du ja auf deinem
- 9:29Rechner das einfach versionieren.
- 9:31Ohne irgendwas Remote zu haben. Das mein ich ja, das ist ja die
- 9:36lokale Kopie, aber in dem Moment, wenn du mit mehreren
- 9:39Leuten zusammenarbeitest, brauchst du halt diese zweite
- 9:42Ebene des Remotes, also dass du quasi auf einem Server den Code
- 9:47Basis zur Verfügung stellst, auf die wieder alle arbeiten können.
- 9:51Ja, aber das ist ja verteilt in dem Sinne, mal angenommen du
- 9:55hast jetzt 5 Entwickler und du hast halt dieses eine Repository
- 9:59wo der Code liegt, dann können ja alle auf diesem Repository
- 10:02arbeiten, haben aber jeweils eine eigene Kopie.
- 10:05Lokal und können damit machen, was sie wollen.
- 10:07Ja, also worauf ich gerade ein bisschen hinauswill, ist, dass
- 10:10man sich das vielleicht auch ganz gut vorstellen kann.
- 10:12Das heißt, wenn es gibt ja Services, die in der Lage sind,
- 10:15wo man seine Remote Repositories ablegen kann, ne, also zum
- 10:18Beispiel so wie github oder ich glab und gibt es noch einige
- 10:22andere Services. Die eben so ne git Unterstützung
- 10:26anbieten, weil das sind ja 2 verschiedene Sachen.
- 10:28Also ich hab zum Beispiel auch schon öfter mal mitgekriegt,
- 10:31dass Leute, die jetzt zum Beispiel auch ein bisschen fremd
- 10:34sind, immer denken, dass Git und Github irgendwie das gleiche
- 10:38ist. Aber eigentlich sind es 2
- 10:40komplett verschiedene Sachen, weil das eine ist ja, also
- 10:42github ist ja ein Service wo du deine Repository Mode lagern
- 10:46kannst. Beispielsweise github in dem
- 10:48Fall und gibt s ja nur sozusagen Tool mit, was sozusagen die
- 10:53Versionierung. Am Ende überwacht ne also die
- 10:57sozusagen genau. Geht ist das versionierungs Tool
- 11:00genau sich und das andere ist halt wirklich nur n.
- 11:02Hab also wirklich n Server wo du halt deine Repositories hosten
- 11:06kannst. Ja.
- 11:08Genau genau also nur, dass man genau also nur, dass man das
- 11:10einmal ne, wenn man sich das jetzt anhört, dass man denkt,
- 11:13OK, alles klar, ich kann git nutzen und um von diesem Remote
- 11:18Repository, von dem du geredet hast, das liegt beispielsweise
- 11:22um sich das n bisschen besser vorstellen zu können, bei Gitter
- 11:24Gitter, was auch immer, genau, und dann gibt es ja das Tool
- 11:28gibt wie du meintest, ich habe beispielsweise schon mit Git und
- 11:32SVN gearbeitet, mir hat dann geht aber auch mehr gefallen als
- 11:37VN, wie ist das bei dir? Womit hast du denn zum Beispiel
- 11:40schon mal gearbeitet? Interessiert mich gerade, weil
- 11:42du meintest, dass du in deiner Karriere sozusagen auch schon
- 11:45einige Tools verwendet hast. In dem in der Hinsicht.
- 11:49Ja, also mit SVN auf jeden Fall. Auch SVN ist halt im Vergleich
- 11:55zu geht halt zentral. Also das heißt du hast nicht
- 11:58dieses diesen verteilten Ansatz, dass du lokal arbeiten kannst,
- 12:01sondern du bist halt quasi immer auf der Remote Basis unterwegs.
- 12:07Ist auch nicht schlecht, aber ich finde geht halt einfach auch
- 12:10wesentlich stärker beziehungsweise geht es einfach
- 12:12auch so. Ich will mich nicht zu weit aus
- 12:14dem Fenster lehnen, aber so der Branchen Hero also ich denke
- 12:18oder mein empfindest, dass die meisten auf Git setzen genau und
- 12:23Branchen spezifisch gibt es halt noch andere Tools und.
- 12:31Ich frag mich, wie hießen die? Clear case clear case, glaube
- 12:35ich hatte ich mal verwendet. Krass, ich gar nicht.
- 12:38Ja frag mich nicht wer der Hersteller ist, aber also es
- 12:42gibt halt gewisse Versionierungs Tools die dann verwendet werden,
- 12:47wenn Prozesse eine Rolle spielen, also wenn Zeit harte
- 12:50Anforderungen gibt an Traceability, dass du wirklich
- 12:55alles ins kleinste Detail nachweisen kannst, obwohl das
- 12:59mit gilt grundsätzlich auch geht, also da ist steht in
- 13:02nichts nach, aber es ist halt einfach denn so.
- 13:04Ein bisschen aus der Historie heraus, dass auf diese Tools
- 13:07gesetzt wurden und meiner Meinung nach ohne jemanden jetzt
- 13:11zu nahe treten zu wollen, finde ich, war die Handhabung bei geht
- 13:14immer am besten. Ja fand ich.
- 13:16Auch also ich hab ja auch, ich hab auch wirklich nicht viel mit
- 13:19SVN gearbeitet, weil ich relativ schnell zu gibt, irgendwie dann
- 13:22auch geweckt oder alle da auch irgendwie gewechselt sind und
- 13:25ich kann mich ehrlich gesagt, wenn ich jetzt mal Hand aufs
- 13:27Herz lege, ich kann mich auch nicht mehr wirklich daran
- 13:29erinnern, was eigentlich bei bei SVN abging, muss ich ganz
- 13:34ehrlich sagen. Also.
- 13:36Ich weiß es nicht. Ich könnte glaub ich gar nicht
- 13:39mehr erarbeiten, geschweige denn der jetzt aus dem Stegreif
- 13:42sagen, ja, das hat jetzt die und die Unterschiede zu gibt.
- 13:47Ne, also bin ich auch ein bisschen raus bei SVN weil geht
- 13:50einfach absolut gut für die Anwendung ist und genau das
- 13:53bietet was man irgendwie im Normalfall eigentlich braucht
- 13:56und sich irgendwie durchgesetzt hat.
- 13:57Das ist aber nur meine Meinung dazu, so wie ich das empfinde.
- 14:02Weil du meintest, dass man ja zum Beispiel eine gewisse
- 14:05Traceability oder so ne überwachbarkeit oder wie man das
- 14:09übersetzen möchte hat. Du kannst ja bei Git, wenn du
- 14:15einen neuen stand, eine neue Version erzeugt, immer eine
- 14:19Message dazu packen. Das heißt, du könntest ja
- 14:23genauso gut, also ne, weil du meinst, bei github geht es ja
- 14:25auch eigentlich ganz gut um das Mal zu sagen, du kannst immer
- 14:29eine. Der handgeschriebene Nachricht
- 14:32also eine Commit Message, wie man das so schön nennt.
- 14:35Aber deinen neuen Stand dran packen, ne, was ja zum Beispiel
- 14:40auch ein bisschen dafür dient, das n anderer Entwickler oder
- 14:43eine andere Entwicklerin bei einem bestimmten Stand von
- 14:45jemandem gut sehen kann. OK, was ist denn hier eigentlich
- 14:49passiert? Ne genau.
- 14:51Und das ist halt auch ein Punkt, den man wirklich bedacht leben
- 14:56sollte. Also nicht einfach irgendwie a
- 14:59new Feature oder so was da rein. Greift, sondern halt wirklich
- 15:04versucht in diesem Satz. Also es kann länger sein, aber
- 15:07man sollte es natürlich auch möglichst kurz fassen, bedacht
- 15:11da reinschreiben, was wirklich passiert ist, damit Leute beim
- 15:14Überfliegen der Historie schnell sehen können, was mit jeweils
- 15:19dem Commit quasi in die Software gekommen ist.
- 15:22Ja, wie handhabst du das, wenn wir jetzt zum Beispiel n sagen
- 15:26wir mal, Du entwickelst ein Feature und hast vielleicht
- 15:29zusätzlich noch so ein kleines Refactoring?
- 15:31Würdest du zusammenkommen, oder? Also würdest du da draus
- 15:35zusammen, um das jetzt mal in unserer aktuellen Beschreibung
- 15:39zu halten, würdest du zusammen eine neue Version davon neue
- 15:43Versions stand erzeugen, oder? Würdest du das trennen?
- 15:49Boah, das ist das ist natürlich ziemlich spezifisch jetzt ne,
- 15:52also wenn das Feature also betrifft, das Refactoring
- 15:55gleichzeitig das Feature wieder, dann ja, weil warum sollte ich
- 15:58es dann nochmal trennen? Wenn ich aber einfach
- 16:01irgendwelche Punkte festgestellt habe, die reflektiert werden
- 16:04können, dann würde ich es einzeln machen.
- 16:06Ja, tatsächlich klingt auf jeden Fall logisch.
- 16:09Also ich hab zum Beispiel, ich denke gerade daran, wenn man
- 16:13keine Ahnung, weiß ich auch öfter mal erlebt habe, ist du,
- 16:16du arbeitest irgendwo an, keine Ahnung irgendwie am Frontend.
- 16:21Entwickelst ne Page und siehst aber gleichzeitig in diesem
- 16:25Zuge. Wenn du da vielleicht dir von
- 16:27anderen Komponenten ne von anderen teilen, die schon
- 16:30existieren, vielleicht ein Styling n bisschen abguckst ne
- 16:34und aber auch gleichzeitig verändert, aber dann siehst OK
- 16:37warte mal, da muss ich vom Styling her auch nochmal an der
- 16:39Komponente was ändern, dann hatte ich auch schon erlebt,
- 16:42dass man, dass es dann die eine Person gibt, die sagt, Ja komm,
- 16:45hau alles zusammen rein und ne wir fokussieren uns auf das neue
- 16:50Feature oder auf den neuen. Auf das neu, also den neuen
- 16:55Punkt, den wir gerade betrachten.
- 16:57Und wir hauen sozusagen das Styling von irgendwas, was
- 17:00eigentlich gar nicht dazu gehört, auch mit rein.
- 17:02Andere sagen wieder OK. Wir sollten das unbedingt
- 17:06trennen, dass man halt sagt, das neue Feature oder was auch immer
- 17:10wird einzeln committed und der sozusagen, der das Styling von
- 17:15irgendwas anderes eigentlich nicht zum Feature gehört, wird
- 17:17auch noch mal einen committed und ich finde auf jeden Fall
- 17:20prinzipiell die Idee dahinter nicht schlecht, weil es ja
- 17:24einfach angenommen du bist n, du bist jetzt ein Entwickler von
- 17:28von diesem Code und möchtest dir einen bestimmten Stand angucken
- 17:32und du sagst ey, guck mal hier, da ist das Feature XY.
- 17:35Reingekommen. Dann willst, dann willst du dich
- 17:39ja nicht durch irgendeinen quälen, du dir nochmal Anguckst,
- 17:42der eigentlich gar nicht zugehört und von daher ist es
- 17:45aus dieser Perspektive schon sinnvoll.
- 17:48Einen Punkt dazu noch. Es ist natürlich auch immer die
- 17:52Möglichkeit, dass ein Fehler in die Software kommt und jetzt
- 17:55hast du einen Commit und weißt OK, mit diesem Commit ist n
- 17:58Fehler reingekommen, so OK ja gut das neues Feature
- 18:01reingekommen, OK das schauen wir uns das Feature also wenn du
- 18:04jetzt aber das Refactoring da auch drin hast ist es ja auch
- 18:07nicht. Denkbar, dass durch das
- 18:08Refactoring dieser Fehler entstanden ist.
- 18:10Und dann nimmst du dir im Vorfeld schon die Möglichkeit
- 18:15auszusieben, ob es das Refactoring war oder das neue
- 18:18Feature. Weil hättest du jetzt einzelne
- 18:20commits, könntest du die Stände einzeln wiederherstellen und
- 18:22gucken, ob der Fehler drin ist. Das ist halt auch eine enorme
- 18:26Zeitersparnis hinten raus. Ja, auf jeden Fall.
- 18:29Also das ist auf jeden Fall ein guter Punkt, und da sind wir
- 18:31eigentlich schon wieder n bisschen bei dem, was wir in
- 18:34der, glaube ich, in der einer der letzten Folgen.
- 18:38Gesagt hatten, wenn es nicht sogar die letzte war.
- 18:42Einfach mal ein bisschen auch darüber nachdenken, ne, also
- 18:44dass man zum Beispiel sagt, OK, welche Commit Message vergebe
- 18:46ich? Ne ja, also mal bisschen.
- 18:49Bisschen nachdenken. Code.
- 18:51Einfach mal nachdenken. Nein, aber also wirklich mal
- 18:54vielleicht so eine Minute länger nehmen, um zu sagen, OK, wie
- 18:57lautet die Commit Message und vielleicht auch sagen, OK, was
- 19:00verpack ich in dieser in diesem Commit, das ist halt durchaus
- 19:04ratsam, dass man sozusagen gesagt, OK, ich arbeite ja auch
- 19:08nicht alleine im Normalfall an diesem Code, wenn das so ist.
- 19:11OK, also ich hab auch schon. Private Repos gehabt, wo ich
- 19:15dann einfach gesagt hab, so komm mit und der kommt.
- 19:18Message war. Stuff klar.
- 19:21Ich dachte Scheiße drauf. Ist jetzt egal.
- 19:24Das ist halt genau das Thema. Die Verlockung ist einfach so
- 19:27groß, dass ganz schnell einfach du denkst, du, ich will jetzt
- 19:29einfach nur mit. Ja, ich hab jetzt so viel
- 19:31gemacht und wer kennt das nicht, du hast dir so ein Thema
- 19:34vorgenommen, ne willst du ein Feature implementieren ist nur
- 19:37was kleines und dann irgendwas unterwegs und du denkst AOK ich
- 19:42mach ganz schnell und dann machst du das noch und hier noch
- 19:44einmal hast du 1000 Änderungen da obwohl du nur 2 Pfeile sag
- 19:48ich mal ändern möchtest. Und ja gut jetzt komm bitte ja.
- 19:51Willst du das jetzt alles einzeln kommen oder denkst du
- 19:54dir ach komm, ich arbeite doch eigentlich fast alleine da dran?
- 19:57Ja genau kommt Message Stuff fertig, rein damit und.
- 20:02Das ist, das ist halt genau der Punkt, da kann man auf jeden
- 20:04Fall ganz gut unterscheiden, dass man sagt, OK, in welchem
- 20:07Kontext bin ich denn gerade unterwegs, ne, also wenn ich in
- 20:10einem großen Team bin und das wirklich n Projekt ist, was wo
- 20:14wo viele Leute dran arbeiten, dann ist es durchaus sinnvoll
- 20:16quasi auch. Sag ich mal die den Code und die
- 20:22Commit pro, also die Code pro Commit gut dem Team zu
- 20:26präsentieren. Ja, dass man das halt eben auch
- 20:29nicht irgendwie wie Kraut und Rüben handhabt.
- 20:32Ja, guter Punkt, genau also. Ein Punkt würde ich noch.
- 20:37Ach so wolltest du noch. Sorry, ich wollte dich nicht
- 20:38unterbrechen, Entschuldigung. Na ja, also was mir gerade noch
- 20:46einfällt, ist der Punkt, dass es ja durchaus vorkommen kann.
- 20:50Weil wir zum Beispiel, du hattest es vorhin angesprochen,
- 20:54du meintest, wenn man jetzt zum Beispiel lokal irgendwas hat
- 20:57oder eine, also einen eine Code Basis, wo also 2 Leute dran
- 21:02arbeiten, ne, dann ist es natürlich durchaus schwierig,
- 21:06wahrscheinlich wenn man am gleichen Pfeil arbeitet, ne, wie
- 21:09ist denn das jetzt beispielsweise wenn wir jetzt
- 21:12auf so einer Versionierung arbeiten, also beispielsweise in
- 21:16Git, wie funktioniert das also angenommen, es gibt jetzt einen
- 21:20Pfeil. Ne, das heißt Coding bodies Code
- 21:25Punkt, was auch immer Java. Ja.
- 21:28Und das liegt jetzt irgendwo Remote auf einem Repo von uns
- 21:32und du arbeitest daran und arbeitest an der Funktion.
- 21:39Coding Buddies machen Sachen und ich arbeite auch an der
- 21:43Funktion. Was passiert dann?
- 21:49Naja, also grundsätzlich ist es ja erstmal so.
- 21:51Wer als erstes seine Änderung eincheckt.
- 21:56Damit erstmal kein Trouble ne, also von einem was der hat
- 22:00gewonnen gewonnen. Du springst ja von der gleichen
- 22:05Code Basis ab, das heißt Wir ziehen uns jetzt quasi beide den
- 22:09Stand a sag ich mal a ist die Ausgangsbasis.
- 22:14Und wir entwickeln jetzt beide an den Funktionen rum.
- 22:16Dann würdest du jetzt quasi deine Änderungen committen.
- 22:21Und dafür sorgen, dass sie verfügbar ist.
- 22:23Ne, also im Prinzip in Baguette wäre es du push, das dann halt
- 22:28auf den Server ne Mhm, dann ist das für dich fein, da wirst du
- 22:33gar keine Probleme mit haben, weil du bist ja quasi vom
- 22:35letzten Punkt abgesprungen und hast eine Änderung gemacht.
- 22:38Also ich hab jetzt quasi ich hab meine Änderungen gemacht, das
- 22:40liegt jetzt auf dem Server und du hast deine lokale, dein
- 22:44lokale Änderungen noch bei dir und auf dem Server.
- 22:46Wurde mein Ich bin noch am entwickeln.
- 22:47Ich bin noch nicht fertig, du warst schneller und hast
- 22:49gewonnen, quasi. So und wenn ich dann jetzt meine
- 22:54Änderungen auch quasi hochladen möchte und versionieren möchte,
- 22:58dann wird der Server zurückmelden.
- 22:59Ah nee, ist nicht, es gibt Änderungen auf dem Server, die
- 23:03muss ich mir erst ziehen in dem Moment, wenn ich versuche mir
- 23:07diese Änderung zu ziehen wird geht mailen, dass Konflikte
- 23:10gibt, weil einfach meine Änderungen mit der Akte mit dem
- 23:14aktuellen Stand vom Server überschrieben werden würden, ja.
- 23:18So ist die Ausgangslage und das Problem, also das heißt, ich
- 23:21kann mir den neuesten Stand nicht ziehen, weil ich selbst
- 23:24Änderungen da drauf habe, muss mir aber den neuesten Stand
- 23:27ziehen, damit ich das einchecken kann, weil es ja n fortläuft
- 23:30figer also n Verlauf ist halt ne.
- 23:32Also ich kann nicht einfach irgendwo mittendrin was rein
- 23:35kommen sag ich mal so und dafür gibt es dann halt das sogenannte
- 23:40Git merge, das heißt du musst jetzt die Änderungen die auf dem
- 23:45Server liegen zusammenfügen mit deinen Änderungen dadurch wieder
- 23:49eine Code Basis. Schaffen die dann kommen kannst
- 23:52ich hoffe, das war halbwegs verständlich.
- 23:54Das heißt, ich habe deine Änderungen b und meine Änderung
- 23:57a und muss jetzt beide zusammenfügen, dass ne quasi ein
- 24:01Stern C rauskommt, der dann wieder auf dem Server geladen
- 24:04werden kann. Genau, und das kann er ja,
- 24:06sorry. Ja, ja, da gibt es verschiedene
- 24:08Möglichkeiten. Also über Strategien würde ich
- 24:10jetzt nicht so ins Detail eingehen, kann man auch nochmal
- 24:13drüber sprechen, aber im Endeffekt sagt hast du 3
- 24:16Möglichkeiten benutzt deine Version benutzt die Version vom
- 24:20Server. Oder füge sie zusammen und dann,
- 24:24ganz wichtig, immer sagen, benutzt meine Versionen.
- 24:30Push Force ne, aber das Ding ist das Ding ist, also hast du auf
- 24:34jeden Fall supergeil erklärt und also was mir noch so ein
- 24:38bisschen fehlt ist oder was ich vielleicht einfach nicht gehört
- 24:41habe rausgehört habe ist das ist ein manueller Schritt, ne also
- 24:44der wird nicht irgendwie automatisch passieren, sondern
- 24:47muss halt ja. Ja, gut war.
- 24:49Es gibt verschiedene Strategien, aber von dem, was du gerade.
- 24:52Scheint also, oder was ich sag mal so, also.
- 24:54Geht, geht, macht das schon ziemlich geil mit dem Auto.
- 24:58Das heißt stimmt, wenn Sachen aufgelöst werden können, weil
- 25:02zum Beispiel hast am Anfang der Funktion 2 Zeilen eingefügt und
- 25:07nicht am Ende 2 Zeilen, dann kriegt das komplett alleine hin,
- 25:10beide Einzuflechten. Es fragt dich halt nochmal wenn
- 25:13es potentielle Gefahren dabei gibt, aber es kann auch ganz oft
- 25:16sein, dass Sachen automatisch gemeldet werden, was eine riesen
- 25:19Erleichterung ist. Aber ich glaube worauf du hinaus
- 25:22wolltest ist natürlich wenn du jetzt exakt an den gleichen Code
- 25:26Zeilen. Schreib ne, dann weiß geht
- 25:27natürlich nicht welche jetzt gültig ist oder wie die die
- 25:32Vereinigung beider Änderungen aussieht und das ist ein
- 25:35manueller Schritt. Ja, ich war.
- 25:37Voll in meinem Beispiel gefangen.
- 25:38Weißt du, dass wir beide einen der Funktion Coding Buddy.
- 25:41Story ich bei dir immer mit rum schreibe.
- 25:42Ich habe dann irgendwann Fehler rein und die musst du dann
- 25:45wieder raus machen. Ja ne, aber sehr gut erklärt.
- 25:49Auf jeden Fall cooles Beispiel, weil das ist finde ich so n
- 25:53bisschen ne gewisse. Also in gewisse Kernaktivität,
- 25:59die so eigentlich finde ich, dass ja schwierigste in
- 26:05Anführungsstrichen ist. Bei auf jeden Fall, wenn
- 26:08mitgearbeitet. Ja allgemein ne, das ist jetzt
- 26:12nicht nur du hast halt immer dieses Problem, dass Konflikte
- 26:14auftreten können, definitiv, aber damit und ohne Daten kann
- 26:18man geht sogar ich bin voll der Verfechter, aber das geht halt
- 26:21echt von Vorteil, weil du einfach die lokale Kopie hast.
- 26:23Das heißt du kannst das lokal mergen.
- 26:26Und wenn es nicht klappt, dann setzt es zurück und mach das
- 26:29einfach nochmal. Wenn du Fehler gemacht hast.
- 26:30Also ist keiner davon betroffen, solange es alles lokal bei dir
- 26:34passiert, was ne riesen Vorteil ist in meinen Augen.
- 26:36Ja, das stimmt, das stimmt. Du kannst einfach den ganzen
- 26:38Scheinwerfer werfen. Ja, das ist ein guter Punkt,
- 26:41noch OK, möchtest du noch mal n bisschen zusammenfassen?
- 26:45Ich weiß gar nicht, ob wir jetzt alles so schon mal über dieses
- 26:48Thema, weil wir ja noch eine Frage, wollte ich dir am Ende
- 26:51auch noch stellen, ja, aber so n bisschen zusammenfassend so,
- 26:54weil wir ja gerade gesagt haben, warum es geht, wichtig, so was
- 26:57sind jetzt die wichtigen Punkte, warum benutzt?
- 26:59Man. Gerade so.
- 27:00Ich muss nochmal kurz nochmal allgemeiner machen, nicht nur.
- 27:02Also ja klar, klar sorry Fällung von uns und ich glaube der
- 27:06Branchen Standard mittlerweile. Aber was?
- 27:10Warum ist es wichtig, sobald man in einem Team arbeitet, im
- 27:13größeren Team und das ganze Skalieren muss?
- 27:16Ist es, geht es nicht ohne Versions Kontrolle, wenn eine
- 27:21Dokumentation vorlegen muss, wenn du nachweisen willst was
- 27:24sich verändert hat an deinen Code ganz wichtiger Punkt, dann
- 27:28geht es auch nicht ohne weil wie gesagt was ich am Anfang meinte
- 27:31mit Ordner erstellen auf dem USB Stick und da die Version rein
- 27:33laden und am besten Textdateien mit einer änderungs Historie
- 27:36oder so, dass das wird langfristig nicht funktionieren,
- 27:39ne? Zugriffskontrolle ist noch ein
- 27:42wichtiger Punkt. Das heißt, wenn du zum Beispiel
- 27:46Remote arbeitest, also die ganzen Entwickler sitzen
- 27:49meinetwegen auf der Welt verteilt oder einfach nur in der
- 27:51Nachbarstadt, dann wird es schwierig mit dem USB Stick
- 27:53austauschen. Ne, das heißt du kannst über.
- 27:57Kannst du mal vorbeibringen. Ich muss wieder hast.
- 28:03Da können wir ja gleich ne aus der Uni erzählen.
- 28:06Also das ist nicht so, nicht so unwahrscheinlich, dass man
- 28:10arbeitet, auf jeden Fall, was ich sagen wollte ist genau du
- 28:15kannst halt gerade in Kombination mit Plattform wie
- 28:17Git Hub auch eine Zukunft Kontrolle umsetzen, das heißt
- 28:21nicht jeder kann an den Code ran und du kannst nur mit gewissen
- 28:25Leuten daran arbeiten, was sehr vorteilhaft ist.
- 28:27Was hatten wir noch für Prozess Themen ist es sehr oft wichtig
- 28:31wo ich meinte es gibt halt auch andere Tools.
- 28:33Durchgesetzt wird aber geht das genauso umsetzen kann und ach so
- 28:39einen Punkt haben wir tatsächlich vergessen.
- 28:41Du kannst mit so versionierungs Tools natürlich auch Releases
- 28:45erzeugen von beispielsweise, was ja eigentlich jeder Coder kennen
- 28:49sollte, von Libraries oder Packages, die dann zum Beispiel
- 28:52auf github gehostet sind. Ja, da kommt mir sofort so NPMN
- 28:56Kopf. Also das war halt zum Beispiel
- 28:58sagt so ne, du hast irgendwie diversion, weiß nicht 2.1.3 von
- 29:03einer bestimmten Lip von NPM die du dann.
- 29:06In dafür. Gibt es ja die, die die Git
- 29:10tags, also tags im Prinzip die versions Nummer reinschreiben
- 29:13kannst. Und dann kriegst du auch genau
- 29:15diesen Stand, also diesen Comic wie wir s ja so schön gesagt
- 29:18haben, der dann dieses Release widerspiegelt, im Endeffekt auch
- 29:22ne super Sache auf jeden Fall. Genau auf jeden Fall auch ein
- 29:26großes Thema, wenn es generell darum geht, dass irgendwie
- 29:28bestimmte Versionen manchmal n Code auch zusammen passen müssen
- 29:32in Sachen Versionierung. Das ist auf jeden Fall
- 29:34vielleicht noch ein interessantes Thema.
- 29:37Und Kopfschmerzen. Manchmal witzig, aber.
- 29:40Was du gerade meintest, so der Anekdote aus der Uni, ich
- 29:44glaube, wenn ich jetzt nicht ganz irre, meinst du, dass wir
- 29:47damals in dem Roboter Projekt, was wir irgendwann mal erwähnt
- 29:51haben, ganz genau das unseren Code, den wir da geschrieben
- 29:55haben, wo haben wir ihn verwaltet?
- 29:57Sag? Es in einer wunderbaren Dropbox.
- 30:01Ich denke Dropbox ist auch immer noch ein Begriff für unsere
- 30:03Zuhörerinnen und Zuhörer. Ich hoffe es.
- 30:05Geiles Tool. Ist in gewissermaßen ja.
- 30:13Für Team arbeiten nicht so geeignet.
- 30:15Also du kannst natürlich, im Prinzip ist ein Datenaustausch
- 30:18am Ende ne, also du hast sozusagen Cloud Speicher und
- 30:23kannst den Verwalten und ja. Mit mehreren Leuten Leuten
- 30:28nutzen wie zum Beispiel Google Drive.
- 30:32So aber diese ganze versionierungs Geschichte,
- 30:35committen, Historie, Widerstände herstellen, das ist natürlich
- 30:39alles da jetzt nicht so gegeben für die Softwareentwicklung und
- 30:43da hatten wir natürlich extrem das Problem, wir waren 4 Leute,
- 30:46also eigentlich nur 4 Leute. Ja.
- 30:49Und hatten eine Code Basis, die in der Dropbox lag.
- 30:52Und jetzt haben wir da zusammen entwickelt.
- 30:55Ja. Es ist sehr schwierig, genau was
- 30:56passiert, nämlich wenn wir, wenn ihr 2 Leute an irgendeinem Teil
- 31:01arbeiten und der erste speichert und der zweite speichert auch,
- 31:05was passiert dann? Ja, du hast halt die genau diese
- 31:08Konflikte, die wir besprochen haben, werden halt einfach über
- 31:12gebügelt. Genau also der letzte ich.
- 31:14Also wenn ich das richtig im Kopf, ich glaube der speichert,
- 31:16der hat halt in dem Falle gewonnen und sagt Halt so, OK,
- 31:20das ist jetzt meine Änderung und damit wird ja alles was vorher
- 31:22gemacht wurde verworfen und damit hast du ja einen
- 31:25riesengroßen Overhead, weil du mal sagen musst Tino, arbeitest
- 31:28du gerade an dem Pfeil? Nee, ja gut, was ich Alex,
- 31:33arbeitest du gerade an dem Pfeil ne ich nicht gut Benny arbeitest
- 31:36du den ich nicht weißt, dann ist also im Endeffekt ist ja so,
- 31:40dass du dann wahrscheinlich Kopien warst.
- 31:41Also diese klassischen Backup Dateien, dass du sagen kannst,
- 31:44OK, ich arbeite jetzt erstmal auf der Datei CD an und dann
- 31:47tausche ich irgendwann und so Jungs alle alle cool, da wird OK
- 31:50ich werde es jetzt tun, so weißt du und das hat einfach schon
- 31:53gezeigt und man muss natürlich sagen, zu dem Zeitpunkt gab es
- 31:56einfach versionierungs Tools. Genau.
- 31:59Und jetzt möchte ich auf deine Frage nochmal eingehen.
- 32:02Damals habe ich nicht die Notwendigkeit gesehen
- 32:04beziehungsweise wir alle ja nicht, sonst hätte irgendwer
- 32:07gesagt, Ey Jungs, wollen wir nicht mal ein Repository
- 32:09aussetzen dafür? Nein, das war Dropbox, wir
- 32:12hatten diese Dropbox bei uns im Freundeskreis, weil wir ja auch
- 32:15keine Ahnung Uni unterlagen ausgetauscht haben, keine
- 32:18Übungsergebnisse an dieser Stelle auf keinen Fall waren das
- 32:20übrigens Ergebnisse oder Lösung sowas sowas macht man nicht nein
- 32:27jeder übt für sich selbst. Und deswegen haben wir natürlich
- 32:31die weiter dafür genutzt. Aber man hätte damals einfach
- 32:33schon Repository aufsetzen sollen und deswegen auf deine
- 32:36Frage sollte man das auch alleine nutzen, würde ich
- 32:40heutzutage sagen, ja, erstens du weißt nie ob dein System
- 32:44irgendwie kaputt geht, dein Laptop so blöd es klingt kannst
- 32:47du s. Wer macht heutzutage wirklich
- 32:49noch auf USB Stick irgendwelche Kopien regelmäßig?
- 32:51Also ich mache es nicht. Nicht?
- 32:53Auch nicht. Irgendwelche Datensicherung,
- 32:56weil ich vertraue da eher zum Beispiel github.
- 32:59Einfach ein Profil anlegen, das kostet nichts.
- 33:01Wenn man das jetzt nicht quasi kommerziell nutzt oder in
- 33:04größeren Teams, wird sich einfach privates Repository
- 33:07anlegen und da sein South Code verwalten.
- 33:10Hast ne coole Sache, weil es ist einfach Industriestandard sich
- 33:14damit auszukennen und das heißt spätestens wenn du in die
- 33:16Arbeitswelt kommst sollte man sich gut mit Geld auskennen.
- 33:19Ich wollt Grad sagen, das ist halt wichtig, ne, du musst halt
- 33:22diese Erfahrung machen und diese diese einfach die also die
- 33:26Erfahrungen sammeln, wie man mit diesem Tool oder mit solchen
- 33:29Tools. Also man kann sich auch mit
- 33:30verschiedenen Tools ausprobieren.
- 33:33Github können wir also gut können.
- 33:34Wir empfehlen mit beispielsweise github, aber halt auch anderen,
- 33:37ist Scheiß egal, aber man sollte glaube ich in der Lage sein
- 33:40einfach mit zu arbeiten. Genau.
- 33:42Also du kannst natürlich jetzt nicht irgendwie Fälle erzeugen,
- 33:47dass du Riesen merge Konflikte kriegst oder so wie auch du bist
- 33:50du alleine da dran, ne, also könntest du jetzt irgendwie
- 33:52keine Ahnung 2 Profile machen und dann die gegenseitig darauf
- 33:55rumgeritten, aber darum geht es ja gar nicht, aber einfach mit
- 33:58den Grund Mechaniken von Git. Dazu kommen, das ist schon viel
- 34:01wert, weil ich die Erfahrung gemacht habe, im meinem
- 34:05bisherigen Berufsleben, das auch einige Leute damit keine
- 34:08Erfahrung haben oder hatten, anfangs und dann auch
- 34:11Schwierigkeiten damit hatten. Und ich finde, gerade das kann
- 34:14man einfach dann, wenn man sich schnell damit beschäftigt oder
- 34:18frühzeitig quasi entgegenwirken und einfach schon mal wissen,
- 34:22was ist denn, was ist denn mit wann push, wann pullig, was ist
- 34:26denn Fetsch zum Beispiel, ne, nur um die ganzen Fachbegriffe
- 34:30jetzt nochmal. In den Raum zu werfen.
- 34:32Was macht man stash? Genau o stash, das machen auch
- 34:37weniger auch n cooles Feature eigentlich aber gut, aber.
- 34:40Ich sage, was ich noch hab. Ja, was ich noch ganz kurz sagen
- 34:43wollte ist also weil du meintest so OK, man kann sich auch bei
- 34:47github repo anlegen und so weiter und sofort ne auf jeden
- 34:51Fall ist auch ratsam auch damit zu arbeiten und einfach mal
- 34:54Erfahrungen damit zu machen. Was ich aber zum Beispiel auch
- 34:57weil im Sinne von alleine mit Git arbeiten.
- 35:02Wenn ich anfange, irgendwas Kleines aufzusetzen, irgendwo
- 35:05mit anzufangen, mich mal auszuprobieren und einen Stand
- 35:07erreicht, wo ich sage, ey, das ist jetzt irgendwie, das
- 35:10funktioniert erstmal soweit, wie ich wollte und bevor ich jetzt
- 35:13meine nächste Änderung mache, die quasi vielleicht in eine
- 35:17ganz andere Richtung geht, vielleicht das Ganze kaputt
- 35:19macht, weil ich noch ein bisschen am ausprobieren bin,
- 35:24aber erstmal ein Stand erreicht, wo ich sage, der funktioniert,
- 35:27das weiß ich so und ich will jetzt einfach nur mal ein
- 35:29bisschen wirklich den Code eskalieren.
- 35:32Lassen. Dann fange ich zum Beispiel an
- 35:35und setze mir einfach lokalen Git auf.
- 35:37Also ich mach einfach quasi sozusagen git init, dann habe
- 35:40ich n git, also n repo lokal nur bei mir und Committee das ich
- 35:45muss das natürlich nicht irgendwo remote hin pushen, das
- 35:47bleibt einfach bei mir. Richtig, ja.
- 35:49Der Vorteil dabei ist aber, dass wenn ich danach nach einem
- 35:52Stand, wo ich weiß, das funktioniert jetzt also das, was
- 35:55ich ausprobieren wollte, ist, passt.
- 35:57Und ich möchte jetzt sozusagen das nächste oben draufsetzen,
- 36:00dann sehe ich, welche Änderungen ich im Verhältnis zu vorher
- 36:03gemacht habe. Das heißt, ich erstell mir
- 36:04einfach lokal. Meine Kleine geht Historie und
- 36:07damit kann ich einfach selber ganz gut sagen.
- 36:10OK, welche Änderungen habe ich denn gerade gemacht, weil ganz
- 36:14ehrlich, ich hab das auch schon voll oft gesehen, dass man dann
- 36:17irgendwie arbeitet, arbeitet, arbeitet ne und dann hab ich am
- 36:20Anfang auch gemacht und dann Störung z immer wieder zurück
- 36:24was hab ich denn jetzt gemacht hab und dann hast du 5 Files und
- 36:26weiß gar nicht mehr welche Störungen z.
- 36:28Wie oft musst du das drücken damit deine falls wieder
- 36:31synchron sind damit du vielleicht wieder überhaupt an
- 36:33Punkt kommst wo du sagst. Das funktioniert erstmal wieder.
- 36:36Das ist der Stand, wo es funktioniert hat, gerade wenn
- 36:38man neue Sachen ausprobiert und das ist wichtig in der
- 36:40Softwareentwicklung neue Sachen auszuprobieren.
- 36:42Ja genau, nee. Also das ist auf jeden Fall ein
- 36:45sehr guter Punkt. Genau, also du kannst halt dich
- 36:48selbst versionieren sozusagen und sagen kannst halt sagen, OK,
- 36:51oh nee, das war das ging jetzt in die falsche Richtung, einmal
- 36:54bitte einmal zurücksetzen so, und das kannst du nicht, wenn du
- 36:57keine Verwaltung dahinter hast. Ne, genau.
- 37:01Ja, ein sehr guter Punkt. Auf jeden Fall spricht auch
- 37:04dafür, rechtzeitig damit anzufangen, auf jeden Fall.
- 37:06Haben wir viel zu spät gemacht. Ja genau, also wie.
- 37:10Ich hab halt wirklich erst in meinem Praktikum, da hatten wir
- 37:15drüber gesprochen und da hatte ich das erste Mal erst mit Git
- 37:18Berührungspunkte. Das heißt ja, da hab ich schon
- 37:2233 Jahre studiert als Praktikum, war am Ende vom Bachelor ja
- 37:27schon recht spät. Also ich hab sämtliche Software
- 37:29Projekte oder Programme die wir schreiben mussten, so in Übungen
- 37:35immer einfach nur lokal gehabt, als also ohne irgendwas und da
- 37:38hatte ich auch das Problem, dass du gesagt hast, das ist nicht
- 37:41die Lösung, hier ändern, da mal ändern.
- 37:42Oh mein Gott, jetzt alles jetzt alles kaputt von vorne alles weg
- 37:47so weißt du das ist scheiße, ja, aber ansonsten würde ich sagen.
- 37:51Wir haben es jetzt ausführlich besprochen, wir 1.
- 37:54Folge war nochmal kurz die Anmerkung.
- 37:58Sollte es fragen zu dem ganzen Thema, speziell zu Geld geben,
- 38:02liebe Zuhörerinnen, liebe Zuhörer, wenn es Unklarheiten
- 38:06gibt oder vielleicht der Bedarf da ist, da man Tutorial
- 38:09zuzumachen, machen wir das gerne.
- 38:11Wir können auch gerne mal ein Video dazu machen, wir einfach
- 38:13mal erklären. Wie geht funktioniert, wie man
- 38:16es anwenden kann, können auch ein paar Beispiele konstruieren,
- 38:19wie Fabi und ich verschiedene Code Änderungen machen und euch
- 38:22dann auch mal das Märchen zum Beispiel zeigen.
- 38:25Immer raus damit, meldet euch bei uns wär auf jeden Fall cool
- 38:28das zu machen, hätten wir auch Bock drauf oder was meinst?
- 38:30Du interaktiven Repo aufsetzen, ja.
- 38:33Genau. Und dann können wir auch mal
- 38:36austoben oder? Das wär aber OK.
- 38:40Zurück zu Punkt, wenn die Folge gefallen hat, lasst doch gerne
- 38:43mal ein Like da, die Links findest du.
- 38:45Show Notes also wie gesagt, meld dich bei uns, wenn der Bedarf
- 38:48besteht. Ansonsten wie gesagt ABONNIERT
- 38:51den Podcast, würde uns freuen und bis zum nächsten Mal.
- 38:55Eure Coding Bodies gemeinsam besser.