Git Merge-Konflikte lösen mit fac

Wer häufiger mit Git arbeitet und dort auf Merge-Konflikte stößt, hat bei größeren Konflikten keinen sonderlich großen Spaß diese aufzulösen. Häufig bietet es sich dabei an, ein Mergetool zu verwenden, der einem die Arbeit erleichtern soll. Einige Mergetools existieren für die Kommandozeile, andere auch als grafische Tools. Kürzlich bin ich auf das kleine Tool „fac“ gestoßen, was kurz für „Fix All Commits“ steht. „fac“ ist ein in Go geschriebenes CUI, also ein Commandline User Interface, um Merge-Konflikte aufzulösen....

February 9, 2018 · 1 min · Sujeevan Vijayakumaran

Rezension: Machine Learning with Python

Nach längerer Zeit folgt an dieser Stelle mal wieder eine Buchrezension. In diesem Artikel wird das Buch „Machine Learning mit Python“ mit dem Untertitel „Das Praxis-Handbuch für Data Science, Predictive Analytics und Deep Learning“ vom Autor Sebastian Raschka besprochen. Erschienen ist das Buch beim mitp Verlag. Zu dem handelt es sich bei diesem Buch um eine Übersetzung aus dem Englischen. Hinweis: Der mitp Verlag stellte mir für die Rezension ein Rezensionsexemplar frei zur Verfügung....

February 7, 2018 · 3 min · Sujeevan Vijayakumaran

Schönere Git Diffs im Terminal mit diff-so-fancy

Es sind manchmal die kleinen Dinge, die einem im Terminal noch glücklicher machen, für Probleme, die man vorher gar nicht hatte. Ein Beispiel ist etwa das Anzeigen von Unterschieden zwischen zwei Versionen mit einer Datei mit diff bzw. in diesem Fall ein einfaches git diff. Mit diff-so-fancy lässt sich das Git Diff spürbar aufhübschen, sodass es besser für den Menschen lesbar ist. Wie so häufig sagen Bilder mehr als viele Worte, weshalb hier ein Screenshot folgt, wo das Standard Diff verwendet wird:...

January 12, 2018 · 2 min · Sujeevan Vijayakumaran

Aufzeichnung und Folien des Git-Talks & -Workshops auf der FrOSCon 2017

Letztes Wochenende fand die 12. FrOSCon in St. Augustin statt. Für mich war es die dritte FrOSCon in Folge. Ich selbst habe diesmal zwar nicht den Ubuntu Stand betreut, stattdessen habe ich einen „Git für Einsteiger Workshop“ durchgeführt, sowie den Vortrag „Nicht alltägliche Git-Funktionen“ gehalten. Nicht alltägliche Git-Funktionen Der Talk war schönerweise gut besucht und wurde auch, wie zahlreiche anderen Talks, aufgezeichnet. Die „Folien“ des Talks finden sich auf meinem Speakerdeck-Account....

August 22, 2017 · 2 min · Sujeevan Vijayakumaran

Git-Talk und Git-Workshop auf der FrOSCon 2017

Am 19. und 20. August findet in St. Augustin bei Bonn die FrOSCon statt. Für mich ist es mittlerweile eine der Open Source Veranstaltung neben der OpenRheinRuhr und der Ubucon, die ich möglichst nicht verpassen will. Dieses Jahr bin ich so da zum (erst) dritten Mal in Folge. Das Programm der diesjährigen FrOSCon veröffentlicht. Ich selbst bin dieses Mal mit einem Vortrag und einem Workshop vertreten. Nicht alltägliche Git-Funktionen Im letzten Slot am Samstag um 17:45 findet mein Talk mit dem Titel „Nicht alltägliche Git-Funktionen – Committen, Pushen, Mergen kann jeder – aber was gibt es darüber hinaus?...

July 20, 2017 · 2 min · Sujeevan Vijayakumaran

CRLF in LF automatisch umwandeln in Git-Repositorys

Es sind manchmal viele Kleinigkeiten in einem Projekt in einer Gruppe, die Mitarbeiter ziemlich nerven können. Neben offensichtlichen Dingen wie Clean Code und einheitliche Bennung von Dateien, Klassen und Methoden, ist eine Sache die häufiger im Zusammenspiel zwischen Windows- und Linux-Nutzern stört: Der Zeilenumbruch. Im Windows-Universum besitzen Zeilenumbrüche ein CR LF und unter Linux LF. Näheres zu Zeilenumbrüchen findet sich im entsprechenden Wikipedia-Artikel zu Zeilenumbrüchen. Git Repositorys sollten immer nur LF als Zeilenendung enthalten, da gemischte Zeilenenden sich auf den Betriebssystemen unterschiedlich auswirken und einfach unschön in der Handhabung sind....

July 7, 2017 · 2 min · Sujeevan Vijayakumaran

Binärdateien effizienter in Git-Repositorys nutzen mit Git LFS

Dateitypen, die sich nicht effizient in Git-Repositories nutzen lassen, sind Binärdateien. Also genau die Dateien, die man nicht mit einem gängigen Texteditor öffnen kann. Mit Git LFS kann man Binärdateien effizienter verwalten, dabei ist Git LFS eine Erweiterung für den Git-Client, ein entsprechendes Gegenstück wird aber auch auf dem Server benötigt. Doch bevor man sich Git LFS anschaut, sollte man verstehen, wie Git Dateien intern abspeichert, um nachvollziehen zu können, warum man eine Lösung wie Git LFS braucht....

April 17, 2017 · 5 min · Sujeevan Vijayakumaran

Mit Git Worktree mehrere Arbeitsverzeichnisse managen

In der Regel klont man sich ein Git-Repository, in dem auch ein Arbeitsverzeichnis eines Branches ausgecheckt ist. Je nach Projektart kann es passieren, dass eine Arbeitskopie nicht reicht. Das ist etwa dann der Fall, wenn man ein Projekt kompilieren muss, was eine Zeit in Anspruch nimmt, in derselben Zeit aber auf einem anderen Branch weiterarbeiten möchte. Im Standard geht das so mit einem geklonten Repository nicht, da sich beim Wechsel des Branches das Arbeitsverzeichnis verändert und somit auch die Kompilierung nicht voll durchläuft bzw....

April 14, 2017 · 3 min · Sujeevan Vijayakumaran