create account

GIT - Versionskontrollsystem - unter Mac : Der Einstieg Teil 1 by halloworld

View this thread on: hive.blogpeakd.comecency.com
· @halloworld · (edited)
$5.47
GIT - Versionskontrollsystem - unter Mac : Der Einstieg Teil 1
<center>
<br>
![DQmPiKcYtB7kqiL7JBjL6JuybPbUPxNvxTAkFarMCAP5xZK_1680x8400.jpeg](https://steemitimages.com/DQmUq4Q2fGmX1eNirYvuqxfwwmkX8oQG4s5FQympmnXnHq5/DQmPiKcYtB7kqiL7JBjL6JuybPbUPxNvxTAkFarMCAP5xZK_1680x8400.jpeg)
<br>
</center>


## GIT ist ein dezentrales System … 

## … zur Verwaltung von Dateiversionen



# Warum man sich mit Git befassen sollte?

Versionsverwaltungen in der Anwendungsentwicklung ist eine fundamentale Grundlage, um Änderungen und Erweiterungen nachvollziehbar zu gestalten. Auch Entwicklungszweige und Bugfixing ab bestimmten Punkten sind möglich. Das Versionsverwaltungsysten, wie Git soll uns dabei unterstützen. Es nimmt uns unnötige Arbeit ab und sorgt dafür, dass wir uns auf das Wesentliche einer Entwicklung konzentrieren können. 

In jeden modernen IT-Beruf wird vorrausgesetzt, dass man mit Versionskontrollen umgehen kann, sobald man als Programmierer arbeitet. Daher habe ich mich auch damit befasst und möchte Dir hiermit einen Einstieg verschaffen, damit Du ganz praktisch selber erste Schritte wagen kannst.

# Zunächst ein paar Begriffe:

**Reposetory** ( kurz Repo ) wird der gesamte Umfang aller Versionen genannt, die sich im aktuellen Projekt befinden.
**Master** nennt man den Hauptstrang der Entwicklung bzw. eines Projektes.
**Branch** ist ein neuer Entwicklungstrang einer bisherigen Verions. Genauer gesagt, eine Abspaltung. 
Der **Workspace** ist der Berich, auf dem man aktuell mit Dateien arbeitet.

# GIT installieren

Quelle: https://www.heise.de/download/product/git-57506/download

## Grafische Umgebung ( optional ):

Quelle : https://www.collab.net/products/giteye
für Mac : https://www.collab.net/downloads/giteye#show-Mac_OSX

**Hinweis:** Das Installieren der grafischen Umgebung ist nicht unbedingt erforderlich um Git nutzen zu können. Es ist jedoch empfehlenswert, wenn man den Überblick über größere Änderungen und umfassendere Projekte haben möchte. 

![Bildschirmfoto 2018-03-31 um 00.02.55.png](https://steemitimages.com/DQmfWjYvw5nX6pgoWAVyPmxYDGiSVaCkWrE3xN2nT2jozgX/Bildschirmfoto%202018-03-31%20um%2000.02.55.png)

Es soll hier nur vorbereitet werden. Im weiteren Verlauf ist es aber erstmal nicht zwingend notwendig. Du kannst die Installation also gern auch später durchführen oder andere Tools nutzen. 

Hier geht es zunächst um die Grundlagen von Git.

# Reposetory nutzen

Deine Aufgaben:

1. Lege einen Ordner, z.B. mit dem Namen **projekt** an.
2. Lege eine  Textdatei mit **hallo.txt** im Ordner **projekt** an.

Wir öffnen die Konsole und begeben uns in den Pfad der aktuellen Textdatei z.B.:

> cd projekt
> nano hallo.txt


![Bildschirmfoto 2018-03-31 um 01.53.04.png](https://steemitimages.com/DQmPPkVS7fHbvgt536tENUA5CUVVZqEF5EVrAbpjUdRjnHh/Bildschirmfoto%202018-03-31%20um%2001.53.04.png)

Als Inhalt der Datei können wir z.B. "Hallo Welt!" eingeben.

![Bildschirmfoto 2018-03-31 um 01.54.00.png](https://steemitimages.com/DQmUFFkG5R38k4A9GAE2rSSjYqeFKu5fv5iaKcj9n3thCad/Bildschirmfoto%202018-03-31%20um%2001.54.00.png)


Wenn man zum ersten mal auf dem Mac, in der Kommandozeile, Git nutzen möchte, verlangt Git noch Konfigurationseinstellungen für das aktuelle Repo. Geben wir also erstmal Beispieldaten ein:

> git config --global user.name "Your Name"
> git config --global user.email "you@example.com"

Dann können wir das erste Repo **init**alisieren:

> git init

![Bildschirmfoto 2018-03-31 um 03.17.05.png](https://steemitimages.com/DQmZB8vgASvFCx9duY7DCFSYvNHmwkYBvSGr3HDooue3rrg/Bildschirmfoto%202018-03-31%20um%2003.17.05.png)

![Bildschirmfoto 2018-03-31 um 01.55.31.png](https://steemitimages.com/DQmd3hk77EeejeTk3eGwtvY23pJRWgNArBEtVuQVGEqU65M/Bildschirmfoto%202018-03-31%20um%2001.55.31.png)

Lokal wird dann ein versteckter Ordner **.git** angelegt, den man in der Konsole nicht gleich sehen kann. Ggf. öffnet man ein Dateifenster mit den Einstellungen, die versteckte Dateien anzeigen lassen. So hat man alles gut im Blick.

Das unsichtbare Verzeichnis **.git** stellt nun das Reposetory dar. Der gesamte Ordner ist der **Workspace**.

Als Nächstes müssen wir mit folgenden Befehl die Datei **hallo.text** für das Repo vormerken:

> git add hallo.txt

**git** ist unsere Hauptanweisung für alle Befehle
**add** fügt unseren *hallo.txt*-Text zu den markierten Dateien hinzu. 
Da wir derzeit eine Datei haben, ist es eben nur diese Datei.

Bei jedem neuen Commit müssen wir Git mitteilen, welche Dateien committet werden sollen.

Die Datei ist nun für das Repo vorbereitet. Jetzt führen wir unser erstes Commit durch:

> git commit -m "Unser erster Commit"

![Bildschirmfoto 2018-03-31 um 02.08.28.png](https://steemitimages.com/DQmPkxr18MFD6ih9U7UaTzhjVmtyCCsYLCKxxd2Qqtjm791/Bildschirmfoto%202018-03-31%20um%2002.08.28.png)

**commit** ist der Befehl zum committen. D.h. diese Datei wird als Änderung in das Repo aufgenommen
**-m** ist ein Befehl um dem Commit eine Nachricht mitzugeben
( Kommentar empfohlen, um später darauf hinzuweisen, welche Art der Änderung durchgeführt wurde )

**"Unser erster Commit"** ist der die eigentliche Commitnachticht

Wenn man später professionell mit Quellcodes arbeiten möchte, an denen viele Leute beteiligt sind, sollte man immer sinnvolle Kommentare für die Commit vergeben, damit andere Leute wissen, was genau die Änderung bedeutet. Auch für einen selber kann es hilfreich sein, wenn man nach vielen Wochen ein Projekt anfassen möchte und schon andere Dinge dazwischen geändert wurden. Auch dafür helfen uns hinterlassene Kommentare. Diese Kommentare sind ebenso wichtig für guten Arbeits-Stil beim Verwalten, wie beim Programmieren.

Auch wenn Git im Grunde alle Arten von Dokumenten verwalten kann, ist es jedoch in erster Linie für Versionskontrollen von Programmier-Quellcode geeignet und wird auch da sicher am häufigsten eingesetzt. Git kann auch für Autoren interessant sein, die lange an Texten arbeiten und ggf. Änderungen sichten wollen oder z.B. einen Rückgriff auf ältere Versionen brauchen.

### Weiter gehts ...

Jetzt ändern wir mal unseren Text und erweitern ihn mit "Hallo an die Welt!". Wenn wir nun vergessen unsere geänderte Datei erneut mit **add** zu markieren, wird Git mit folgender Meldung rummeckern:

![Bildschirmfoto 2018-03-31 um 01.44.44.png](https://steemitimages.com/DQmSkMst7k9HMyCWc2JRTV48z4xYSBi7xNt3Fxhus2BTfN3/Bildschirmfoto%202018-03-31%20um%2001.44.44.png)

Also werden wir, wie oben beschreiben, wieder die Datei mit add bekannt machen und ein zweites mal einen Commit veranlassen.

Zur Kontrolle können wir jetzt ausgeben lassen, was bereits im Repo verarbeitet wurde.

> git log


![Bildschirmfoto 2018-03-31 um 02.10.40.png](https://steemitimages.com/DQmPNNgsDQchpXu5pYfm86au8RhG29u9Vgd6SWLGryW1RjV/Bildschirmfoto%202018-03-31%20um%2002.10.40.png)

Unser Versionsverwaltung Git arbeitet also vorzüglich. 



# Teil 2 folgt ...



<center>
<br>

#webdevelopment #code #coding #dev #development #programming #codedesign #codereview #cleancode #steemit #steem #stem #de-stem #steemstem #busy #vcs #git #versionierung #versionskontrolle #versioncontrol #versionmanagement #versioning #versionsverwaltung #java #cpp #csharp #rubi #phython #text #texte #autoren #autorenverwaltung #php #utopian-io #technology #science 

<br>

<a href="https://busy.org/i/@halloworld">
![rect4138.png](https://steemitimages.com/DQmURKrKGzJoojPJsCnKUF8iDZdafGDsvzjE94rpmsTXTJR/rect4138.png)
</a>
</center>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 65 others
properties (23)
authorhalloworld
permlinkgit-versionskontrollsystem-unter-mac-der-einstieg-teil-1
categoryde-stem
json_metadata{"tags":["de-stem","development","science","utopian-io","deutsch"],"image":["https://steemitimages.com/DQmUq4Q2fGmX1eNirYvuqxfwwmkX8oQG4s5FQympmnXnHq5/DQmPiKcYtB7kqiL7JBjL6JuybPbUPxNvxTAkFarMCAP5xZK_1680x8400.jpeg","https://steemitimages.com/DQmfWjYvw5nX6pgoWAVyPmxYDGiSVaCkWrE3xN2nT2jozgX/Bildschirmfoto%202018-03-31%20um%2000.02.55.png","https://steemitimages.com/DQmPPkVS7fHbvgt536tENUA5CUVVZqEF5EVrAbpjUdRjnHh/Bildschirmfoto%202018-03-31%20um%2001.53.04.png","https://steemitimages.com/DQmUFFkG5R38k4A9GAE2rSSjYqeFKu5fv5iaKcj9n3thCad/Bildschirmfoto%202018-03-31%20um%2001.54.00.png","https://steemitimages.com/DQmZB8vgASvFCx9duY7DCFSYvNHmwkYBvSGr3HDooue3rrg/Bildschirmfoto%202018-03-31%20um%2003.17.05.png","https://steemitimages.com/DQmd3hk77EeejeTk3eGwtvY23pJRWgNArBEtVuQVGEqU65M/Bildschirmfoto%202018-03-31%20um%2001.55.31.png","https://steemitimages.com/DQmPkxr18MFD6ih9U7UaTzhjVmtyCCsYLCKxxd2Qqtjm791/Bildschirmfoto%202018-03-31%20um%2002.08.28.png","https://steemitimages.com/DQmSkMst7k9HMyCWc2JRTV48z4xYSBi7xNt3Fxhus2BTfN3/Bildschirmfoto%202018-03-31%20um%2001.44.44.png","https://steemitimages.com/DQmPNNgsDQchpXu5pYfm86au8RhG29u9Vgd6SWLGryW1RjV/Bildschirmfoto%202018-03-31%20um%2002.10.40.png","https://steemitimages.com/DQmURKrKGzJoojPJsCnKUF8iDZdafGDsvzjE94rpmsTXTJR/rect4138.png"],"links":["https://www.heise.de/download/product/git-57506/download","https://www.collab.net/products/giteye","https://www.collab.net/downloads/giteye#show-Mac_OSX","https://busy.org/i/@halloworld"],"app":"steemit/0.1","format":"markdown"}
created2018-03-31 01:27:54
last_update2018-04-01 16:44:15
depth0
children2
last_payout2018-04-07 01:27:54
cashout_time1969-12-31 23:59:59
total_payout_value4.194 HBD
curator_payout_value1.280 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length7,374
author_reputation542,910,321,791
root_title"GIT - Versionskontrollsystem - unter Mac : Der Einstieg Teil 1"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id47,543,265
net_rshares1,890,660,623,447
author_curate_reward""
vote details (129)
@a-0-0 ·
Upvote this for me please? https://steemit.com/colorchallenge/@a-0-0/breathtaking-colors-of-nature-in-4k-iii-beautiful-nature-video
properties (22)
authora-0-0
permlinkre-halloworld-git-versionskontrollsystem-unter-mac-der-einstieg-teil-1-20180331t012809789z
categoryde-stem
json_metadata{"tags":["de-stem"],"links":["https://steemit.com/colorchallenge/@a-0-0/breathtaking-colors-of-nature-in-4k-iii-beautiful-nature-video"],"app":"steemit/0.1"}
created2018-03-31 01:28:09
last_update2018-03-31 01:28:09
depth1
children0
last_payout2018-04-07 01:28:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length131
author_reputation-4,863,186,238,920
root_title"GIT - Versionskontrollsystem - unter Mac : Der Einstieg Teil 1"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id47,543,286
net_rshares0
@joe420 ·
Danke für den Beitrag. Die GUI schaue ich mir mal an. Freue mich auf Teil 2.
👍  
properties (23)
authorjoe420
permlinkre-halloworld-git-versionskontrollsystem-unter-mac-der-einstieg-teil-1-20180331t032359129z
categoryde-stem
json_metadata{"tags":["de-stem"],"community":"busy","app":"busy/2.4.0"}
created2018-03-31 03:24:00
last_update2018-03-31 03:24:00
depth1
children0
last_payout2018-04-07 03:24:00
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length76
author_reputation1,172,055,838,717
root_title"GIT - Versionskontrollsystem - unter Mac : Der Einstieg Teil 1"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id47,555,120
net_rshares3,447,944,940
author_curate_reward""
vote details (1)