tipps_und_tricks/git/michi_git.md
2024-11-08 13:05:32 +01:00

4.5 KiB

Git

Git ist nen Versionverknalltütenprogramm was eder brauch oder auch nicht.

Inhaltsverzeichniss

  1. Git Configurieren
  2. Start
  3. Daten hinzufügen und entfernen
  4. Neue Version an Git geben und überprüfen
  5. Mit Git Servern arbeiten
  6. push und pull
  7. Branches
  8. Grafisches Git

Git Cofigurieren

Nutzername

git config user.name "<user-name>"
  • Setzt den Nutzername für das Aktuelle Repo
  • Wenn kein Name angegeben ist wird der aktuelle Festgelegter Name ausgegeben
  • Wen nach config ein --global gesetzt wird dann wird das für die ganze git installation des Benutzer festgelegt oder usgegeben

E-Mail

git config user.name "<e-mail>"
  • Setzt die E-Mail für das Aktuelle Repo
  • Wenn keine E-Mail angegeben ist wird der aktuelle Festgelegte E-Mail ausgegeben
  • Wen nach config ein --global gesetzt wird dann wird das für die ganze git installation des Benutzer festgelegt oder usgegeben

Start:

Ein Repo ist ein Ding wo deine Projektdaten gespeichert sind.

Initialisieren deines Repos:

git init

Downloade ein existierenes Repo:

git clone <url> 

Nun kannst du mit Git arbeiten z.b. Daten Erstellen und bearbeiten

Daten hinzufügen und entfernen:

Füge Daten zum Repo hinzu:

git add <datei> 

Beispiel:

git add README.md
git add .
git add ./README.md

Entferne Daten von Repo:

git rm <datei> 

Beispiel:

git rm README.md
git rm .
git rm ./README.md

Neue Version an Git geben und überprüfen:

Commit erstellen:

git commit <message>

eine Message ist Pflicht!

Log anschauen

git log

Zeigt dir deine commits an und auch was du geändert hast

Status ansehen

git status

Zeigt dir deine Aktuellen Änderungen an und den aktuelen Branch

Mit Git Servern arbeiten:

Füge ein entferntes Repo hinzu:

git remote add origin <url>
  • Die adresse muss mit .git enden
  • origin ist die Bezeichnung des entfernen Repos

Entferne ein entferntes Repo :

git remote rm origin <url>

push und pull:

push ladet den Branch auf den Server:

git push origin main
  • origin ist die Beschreibung des Remote Servers
  • main Ist Der Branch der gepusht werden soll
  • push(en) = drücken(de)

pull ladet den Branch von Server:

git pull origin main
  • origin ist die Beschreibung des Remote Servers
  • main Ist Der Branch der gepusht werden soll
  • pull(en) = ziehen(de)

Branches

Branches auch Zweige sind einfach mehrere Arbeitsflächen.

Neuen Branch erstellen

git branch <branch-name>
  • Erstellt einfach ein Abbild von den aktuellen Branch
  • Du bist aber immer noch auf den Aktuellen Branch

Branch wecheln

git checkout <branch-name>

Nun hast du den Branch gewechselt

Branches zusammenführen

git merge <branch-name>
  • Nimmt die Änderungen von den angegebenen Branch und Schiebt sie auf den aktuellen Branch

Branches loschen

git branche -d <branch-name>
  • Du darfst blos nicht in diesen Branch sein also mit checkout in ein anderen Branch wechseln

Forks und Pull Requests

ein Fork ist eine unabhängige Kopie eines Repos.

Ein Pull Request ist eine aufforderung an Die Mittarbeiter des original Repos und den Fork zu mergen also um alle änÄderungen des Forkes in das original Repo zu übernehmen.

Fork erstellen und bearbeiten

  1. In der Weboberfläche oben rechts auf Fork klicken
  2. Den erstellten Fork in Profil suchen und git url oder ssh kopieren
  3. In der Konsole git clone ausführen
  4. Änderungen machen
  5. Pushen

Pull Request erstellen

  1. In er Weboberfläche das original Repo öffnen
  2. In Tab Pull Request ein Pull Request erstellen und den passenden Start und as passende Ziel Repo auswählen und passende Infos hinzufügen
  3. Auf erstetellen klicken und Mit en Entwicklern besprechen was man damit nun tut

Grafisches Git

Falls man den überblick verliehrt ist es hilfreich sich Das Repo grafisch anzusehen.

Git Gui

git gui

Grafische Benutzeroberfläche mit vielen Features

Gitk

gitk

Eher um die Vergangenheit des Projetes anzuschauen

Entwicklerplattformen

Viele Entwicklerplattformen haben eine git intigration

  • Visual studio Code
  • Jetbrains IDE
  • ...