# Github

Kurzer Exkurs zu Github

# Github Konto anlegen

1. Auf [www.github.com](http://www.github.com) auf sign up klicken  
    E-Mail Adresse festlegen.  
    Kennwort festlegen  
    Alle schritte mit Continue bestätigen  
    [![Screenshot_2022-07-10 Build software better, together(2).png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/aIc781K4vIQzi6O9-screenshot-2022-07-10-build-software-better-together2.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/aIc781K4vIQzi6O9-screenshot-2022-07-10-build-software-better-together2.png)  
    Nun bestätigen das man ein Mensch ist  
    [![Screenshot_2022-07-10 Build software better, together(3).png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/ZwLdw77vUveJQJ8S-screenshot-2022-07-10-build-software-better-together3.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/ZwLdw77vUveJQJ8S-screenshot-2022-07-10-build-software-better-together3.png)  
    Nun die Aufgabe lösen und das richtige Bild auswählen. Dies muss zwei mal gemacht werden.  
    [![Screenshot_2022-07-10 Build software better, together(4).png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/bunGI3tQ1q3ToHmD-screenshot-2022-07-10-build-software-better-together4.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/bunGI3tQ1q3ToHmD-screenshot-2022-07-10-build-software-better-together4.png)  
    Dies wird noch einmal wiederholt, und wenn dies richtig beantwortet wurde, auf Create account klicken  
    [![Screenshot_2022-07-10 Build software better, together(5).png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/jOdY8Wv4LsoaB6Xf-screenshot-2022-07-10-build-software-better-together5.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/jOdY8Wv4LsoaB6Xf-screenshot-2022-07-10-build-software-better-together5.png)  
    Nun wird an die Emailadresse ein Zahlen code gesendet, diesen eintippe oder copy paste  
    [![Screenshot_2022-07-10 Build software better, together(6).png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/BVoKJtSwwte8497b-screenshot-2022-07-10-build-software-better-together6.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/BVoKJtSwwte8497b-screenshot-2022-07-10-build-software-better-together6.png)  
      
    nachdem der Zahlencode eingetragen wurde, noch ein paar Personaliesierungsfragen und welchen Plan man wählen will. Wir nehmen im Anschluss natürlich die kostenfreie Variante. Aber das bleibt euch überlassen.  
    Ich habe just me and Student ausgewählt.   
    Wählt das was für euch zutrifft. Und dann auf Continue  
      
    [![Screenshot_2022-07-10 Build software better, together(8).png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/LGHYDBwQn6v5oWe8-screenshot-2022-07-10-build-software-better-together8.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/LGHYDBwQn6v5oWe8-screenshot-2022-07-10-build-software-better-together8.png)  
    jetzt noch was euch interessiert, ich hab Automation and CI/CD gewählt.  
    Aber auch hier wieder, was für euch Zutrifft  
    [![Screenshot_2022-07-10 Build software better, together(9).png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/pIvTqi2lVztpxnLA-screenshot-2022-07-10-build-software-better-together9.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/pIvTqi2lVztpxnLA-screenshot-2022-07-10-build-software-better-together9.png)  
    Zum schluss noch den Plan auswählen. Ich habe Free gewählt. Aber das bleibt euch überlassen.  
    Im Free Account habt ihr 500MB frei. Für reine Textdateien reicht das dicke.  
    [![Screenshot_2022-07-10 Build software better, together(10).png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/7S2djp0OZMUVcz8O-screenshot-2022-07-10-build-software-better-together10.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/7S2djp0OZMUVcz8O-screenshot-2022-07-10-build-software-better-together10.png)  
      
    und schon sind wir aufm Dashboard  
    [![Screenshot_2022-07-10 Build software better, together(11).png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/H1UWGEaqUlFqvYpd-screenshot-2022-07-10-build-software-better-together11.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/H1UWGEaqUlFqvYpd-screenshot-2022-07-10-build-software-better-together11.png)

# Git Daten im Client hinterlegen

1. Man hat auch die möglichkeit vom laptop oder wo auch immer code zu Programmieren und dann hochzuladen. So braucht man das nicht auf der Github Seite zu programmieren. Dazu müssen Benutzername Email und ein Public Key SSH KEY bei Github hochgeladen werden.
2. Im Terminal die Daten setzten.  
    Wenn auf dem Computer nur ein Github Account besteht dann können die Daten global gesetzt werden.   
    Ansonsten diesen Schritt auslassen, da diese Daten im Verzeichnis des jeweiligen Git Repos hinterlegt werden, zu dessen Account dieser gehört.  
    ```shell
    git config --global user.email "eure_emeail_adresse"
    git config --global user.name "immohacker"
    ```
    
    Siehe Abschnitt [Git mit mehreren Schlüsseln auf einem Client](https://wiki.hacker-net.de/books/ansible/page/git-mit-mehrehren-schlusseln-auf-einem-client "Git mit mehreren Schlüsseln auf einem Client"):
3. In Github den Schlüssel hochladen.  
    Den Schlüssel auslesen mittels Terminal  
    ```
    cat ~/.ssh/id_rsa.pub
    
    oder mit einem Editor öffnen und dann kopieren
    Ich mache das gern eben übern Terminal.
    ```
    
    Solltet Ihr noch keinen Schlüssel haben. Einfach übern Terminal erstellen.  
    Bei der Frage Passphrase einfach enter drücken, nix eingeben
    
    ```
    ssh-keygen -t rsa -b 4096
    ```
    
    Standardmäßig wird das Homeverzeichnis mit dem namen id\_rsa vorgeschlagen. Dieses würde Ich auch beibehalten.  
      
    Auf die Github Seite einloggen dann auf das Profilsymbol und dann Settings auswählen  
    [![Screenshot_2022-07-10 Build software better, together.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/70eMotM49cwpyrCa-screenshot-2022-07-10-build-software-better-together.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/70eMotM49cwpyrCa-screenshot-2022-07-10-build-software-better-together.png)  
      
    Nun links im Menü auf SSH and GPG Keys, dann auf New SSH key klicken  
    [![Screenshot_2022-07-10 SSH and GPG keys.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/1K5SbVuSdDjQAgOo-screenshot-2022-07-10-ssh-and-gpg-keys.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/1K5SbVuSdDjQAgOo-screenshot-2022-07-10-ssh-and-gpg-keys.png)  
      
    Nun einen Namen vergeben, der den Rechner Identifiziert, denn man könnte ja das Git Repo mit mehreren Geräten verwalten. Und den ssh key unten einfügen. Beginnt mit ssh-rsa und endet mit dem Rechnernamen.  
      
    [![Screenshot_2022-07-10 Add new SSH keys.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/BNlmzsO60PzLONd0-screenshot-2022-07-10-add-new-ssh-keys.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/BNlmzsO60PzLONd0-screenshot-2022-07-10-add-new-ssh-keys.png)
    
      
    Nun kann auf das Konto per ssh Zugriffen werden. So das der Git Client commits durchführen kann.  
    Fertig.  
    [![Screenshot_2022-07-10 Build software better, together(1).png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/jGyB9hXkvIMPWDoV-screenshot-2022-07-10-build-software-better-together1.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/jGyB9hXkvIMPWDoV-screenshot-2022-07-10-build-software-better-together1.png)

# Eine Repo in Github anlegen

Bevor Dokumente in eine Repo hoch und Runtergeladen werden können muss eine Repo angelgt sein.  
Bevor also eine Rolle oder Collection für Github vorbereitet wird. erstellen wir erst die Repo.

1. Dazu auf Github einloggen dann Repository und New klicken  
    [![Screenshot_2022-07-10 Your Repositories.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/xmUJpIMsCkRTWQa2-screenshot-2022-07-10-your-repositories.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/xmUJpIMsCkRTWQa2-screenshot-2022-07-10-your-repositories.png)  
      
    Nun einen Namen vergeben bei einer rolle  
    ansible-meinrollenname  
    Bei einer collection  
    ansible-collection-meincollectionname.  
    Wenn kein Collection in der Mitte steht, ist es automatisch eine Rolle  
    Diese Verzeichnisvorgaben sind Empfehlungen von mir, Man kann die Sachen nennen wie man möchte  
    Der Platzhlater typ im namen sagt hier nur aus. Rolle oder Collection. Wenn es ne rolle ist wird Typ weggelassen  
    Auf Create repository klicken, fertig.  
    [![Screenshot_2022-07-10 Create a New Repository.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/BuomxBQsMR7LosvG-screenshot-2022-07-10-create-a-new-repository.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/BuomxBQsMR7LosvG-screenshot-2022-07-10-create-a-new-repository.png)  
    Nun wird noch gezeigt wie man hochladen kann. Diese Anleitung brauchen wir nicht.  
    Weil unsere Rolle / Collection ja schon besteht, da wir diese ja erst später bei github veröffentlichen wollen.  
    [![Screenshot_2022-07-10 immohacker ansible-typ-test.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/scaled-1680-/hw4uQIsTlqnKTrqF-screenshot-2022-07-10-immohacker-ansible-typ-test.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-07/hw4uQIsTlqnKTrqF-screenshot-2022-07-10-immohacker-ansible-typ-test.png)  
    Fertig.

# Ansible Role zu  Github hinzufügen

1. Erstmal die Repo mit der Namenskonvention anlegen: Siehe Abschnitt:  
    [Eine Repo in Github anlegen](https://wiki.hacker-net.de/books/ansible/page/eine-repo-in-github-anlegen "Eine Repo in Github anlegen")
2. Im Terminal in den Ordner der Rolle gehen dort folgenden Befehle eingeben umd das Git erstmalig einzurichten.  
    Falls mehrere Git Accounts auf einem Rechner benutzt werden sollen siehe Abschnitt :   
    [Git mit mehreren Schlüsseln auf einem Client](https://wiki.hacker-net.de/books/ansible/page/git-mit-mehrehren-schlusseln-auf-einem-client "Git mit mehreren Schlüsseln auf einem Client")  
      
    ```shell
    #damit wird das Verzeichnis für git vorbereitet
    git init
    #das komplette verzeichnis samt unterverzeichnisse zum syncen markieren
    git add .
    #Nun einen Verwendungszweck für das Commiten also änderung hochschieben vergeben. Beim ersten mal Initial Commit, ansonsten die Änderungen
    git commit -m 'Initial Commit'
    #den branch auswählen
    git branch -M main
    #den Remotepfad angeben. Syntax besteht aus benutzernamen/ansible-role-rollenname
    git remote add origin git@github.com:immohacker/ansible-meinerolle
    
    #Nur wenn mehere Github Accounts verwendet werden hier noch Benutzername und Email übergeben
    Gleichzeitig den richtigen Benutzername und Email setzten
    git config user.email "meinepersonalemail"
    git config user.name  "immohacker"
    #Nur wenn mehere Github Accounts verwendet werden hier noch Benutzername und Email übergeben ende
    git push -u origin main
    
    ```
3. Rolle aktualisieren. Wenn Änderungen ins Git geschoben werden sollen, braucht man nicht nochmals alles angeben.  
    Ein paar Befehle reichen:  
      
    ```
    #wieder das ganze Verzeichnis samt Unterverzeichnisse
    git add .
    #Einen Namen für das Commit vergeben
    git commit -m 'update irgendwas'
    #Den Branch festlegen
    git branch -M main
    #Hochschieben
    git push -u origin main
    #fertig.
    
    Man kann sich das auch in eine sh Datei packen und muss dann nur noch den Namen fürs commit übergeben
    Beispiel
    
    nano update.sh
    
    #!/bin/bash
    #wieder das ganze Verzeichnis samt Unterverzeichnisse
    git add .
    #Einen Namen für das Commit vergeben
    git commit -m '$1'
    #Den Branch festlegen
    git branch -M main
    #Hochschieben
    git push -u origin main
    #fertig.
    
    chmod +x update.sh
    
    ./update.sh "Mein Commit"
    ```
4. möchte man eine Repo komplett überschreiben, weil zum Beispiel was gelöscht hat im Remote aber dann doch das Repo vom lokalen hinzufügen möchte gibts den Parameter force.  
    Somit wird die Remote Repo komplett überschrieben
    
    ```shell
    git push --force -u origin main
    ```
    
    Damit wird das Repo vom lokaen stand überschrieben.  
    genaus gehts auch umgekehrt mit
    
    ```shell
    git pull --force -u origin main
    
    ```
    
    Alle Commits löschen und die vom lokalen aufs Remote Repo schieben.  
    Damit wird das .git Verzeichnis gelöscht und neuerstellt.
    
      
    ```
    Git Verzeichnis löschen
    rm -rf .git
    #Git Neu init
    git init
    
    #Repo Verbinden inunserem beispiel die ansible collection,sollte man mehrere Benutzer haben dann mit dem namen davor
    #original mit nur einem Benutzernamern bei git. Hier wählen, beides geht nicht
    git remote add origin https://github.com/immohacker/ansible-rolename
    #oder mit einem anderen account bei git
    git remote add origin git@git_immohacker:immohacker/ansible-rolename
    
    #Nun noch die Credentials neu setzten, wenn mehrere Benutzer benutzt weden
    #ansonsten überspringen, weil diese dann ja schon glabal eingetragen sind.
    git config user.email "meinepersonalemail"
    git config user.name  "immohacker"
    #Remotestand anschauen
    git remote -v
    
    #Output:
    #origin	git@git_immohacker:https://github.com/immohacker/ansible-rolename.git (fetch)
    #origin	git@git_immohacker:https://github.com/immohacker/ansible-rolename.git (push)
    
    #branch festlegen
    git checkout -b main
    
    #Alle Dateien hinzufügen
    git add .
    
    #Commit namen vergeben und alle dateien zum change hinzufügen (-a)
    git commit -m "Initial commit"
    git push -f origin main
    ```

# Ansible Collection zu  Github hinzufügen

1. Erstmal die Repo mit der Namenskonvention anlegen: Siehe Abschnitt:  
    [Eine Repo in Github anlegen](https://wiki.hacker-net.de/books/ansible/page/eine-repo-in-github-anlegen "Eine Repo in Github anlegen")
2. Im Terminal in den Ordner der Collection gehen dort folgenden Befehle eingeben umd das Git erstmalig einzurichten.  
    Falls mehere Git Accounts auf einem Rechner benutzt werden sollen siehe Abschnitt :   
    [Git mit mehreren Schlüsseln auf einem Client](https://wiki.hacker-net.de/books/ansible/page/git-mit-mehrehren-schlusseln-auf-einem-client "Git mit mehreren Schlüsseln auf einem Client")  
      
    ```shell
    #damit wird das Verzeichnis für git vorbereitet
    git init
    #das komplette verzeichnis samt unterverzeichnisse zum syncen markieren
    git add .
    #Nun einen Verwendungszweck für das Commiten also änderung hochschieben vergeben. Beim ersten mal Initial Commit, ansonsten die Änderungen
    git commit -m 'Initial Commit'
    #den branch auswählen
    git branch -M main
    #den Remotepfad angeben. Syntax besteht aus benutzernamen/collectionname
    git remote add origin git@github.com:immohacker/ansible-collection-meinname
    #Nur wenn mehere Github Accounts verwendet werden hier noch Benutzername und Email übergeben
    Gleichzeitig den richtigen Benutzername und Email setzten
    git config user.email "meinepersonalemail"
    git config user.name  "immohacker"
    #Nur wenn mehere Github Accounts verwendet werden hier noch Benutzername und Email übergeben ende
    git push -u origin main
    
    ```
3. Collection aktualisieren. Wenn Änderungen ins Git geschoben werden sollen, braucht man nicht nochmals alles angeben.  
    Ein paar Befehle reichen:  
      
      
    ```
    #wieder das ganze Verzeichnis samt Unterverzeichnisse
    git add .
    #Einen Namen für das Commit vergeben
    git commit -m 'update irgendwas'
    #Den Branch festlegen
    git branch -M main
    #Hochschieben
    git push -u origin main
    #fertig.
    
    Man kann sich das auch in eine sh Datei packen und muss dann nur noch den Namen fürs commit übergeben
    Beispiel
    
    nano update.sh
    
    #!/bin/bash
    #wieder das ganze Verzeichnis samt Unterverzeichnisse
    git add .
    #Einen Namen für das Commit vergeben
    git commit -m '$1'
    #Den Branch festlegen
    git branch -M main
    #Hochschieben
    git push -u origin main
    #fertig.
    
    chmod +x update.sh
    
    ./update.sh "Mein Commit"
    ```
4. möchte man eine remote Repo komplett überschreiben, weil zum Beispiel was gelöscht hat im Remote aber dann doch das Repo vom lokalen hinzufügen möchte gibts den Parameter force.  
    Somit wird die Remote Repo komplett überschrieben
    
    ```shell
    git push --force -u origin main
    ```
    
    Damit wird der lokale stand vom Remote überschrieben.
    
    ```shell
    git pull --force -u origin main
    ```
    
    Alle Commits löschen und die vom lokalen aufs Remote Repo schieben.  
    Damit wird das .git Verzeichnis gelöscht und neuerstellt.
    
    ```shell
    #Git Verzeichnis löschen
    rm -rf .git
    #Git Neu init
    git init
    
    #Repo Verbinden inunserem beispiel die ansible collection,sollte man mehrere Benutzer haben dann mit dem namen davor
    #original mit nur einem Benutzernamern bei git, Hier wählen, beides geht nicht
    git remote add origin https://github.com/immohacker/ansible-collection-general
    #oder mit einem anderen account bei git
    git remote add origin git@git_immohacker:immohacker/ansible-collection-general
    
    #Nun noch die Credentials neu setzten, wenn mehrere Benutzer benutzt weden
    #ansonsten überspringen, weil diese dann ja schon glabal eingetragen sind.
    git config user.email "meinepersonalemail"
    git config user.name  "immohacker"
    #Remotestand anschauen
    git remote -v
    
    #Output:
    #origin	git@git_immohacker:https://github.com/immohacker/ansible-collection-general.git (fetch)
    #origin	git@git_immohacker:https://github.com/immohacker/ansible-collection-general.git (push)
    
    #branch festlegen
    git checkout -b main
    
    #Alle Dateien hinzufügen
    git add .
    
    #Commit namen vergeben und alle dateien zum change hinzufügen (-a)
    git commit -m "Initial commit"
    git push -f origin main
    
    
    
    ```
    
    Fertig. Nur ein Commit und alles neu erstellt.
    
    Diese Collection Repo Ansible Galaxy verbinden

# Git mit mehreren Schlüsseln auf einem Client

1. Es besteht die ja die Möglichkeit das man einen privaten Github Account und einen Firmen Github Account hat.  
    Wie unterteilt man dieses? Es gibt Gott sei dank im .ssh verzeichnis eine Datei die nennt sich config.  
    Diese öffnen wir im Terminal mit nano.  
    Die Variable Host ist ein alias der nachher für den Gitservernamen gewählt wird.  
    ```
    nano ~/.ssh/config
    
    # Company account
    Host company
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_company
    
    # Personal account
    Host personal
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_personal
    ```
2. Sollte ein neuer SSH Schlüssel auf System kopiert werden, also am System nicht selbst erstellt dann müssen der Private und public key kopiert werden. Ansonsten diesen Teil überspringen  
    Beispiel:
    
    ```
    #Private key
    cp mein_privat_schlüssel_woher_auch_immer ~/.ssh/id_rsa_immohacker
    #Public Key
    cp mein_public_schlüssel_woher_auch_immer ~/.ssh/id_rsa_immohacker.pub
    
    ```
    
    Nun die rechte setzten
    
    ```
    chmod 600~/.ssh/id_rsa_immohacker
    chmod 600~/.ssh/id_rsa_immohacker.pub
    ```
    
    und den Schlüssel in den ssh agent einspielen
    
    ```shell
    ssh-add ~/.ssh/id_rsa_immohacker
    ```
3. Nun die Repo neu im Git Verzeichnis festlegen.  
    Damit das allerdings geht müssen falls vorhanden der globale Name aus dem Git entfernt werden. Dazu
    
    ```
    git config --global --unset user.name
    git config --global --unset user.email
    ```
    
    nun die Neue Repo mit allem was dazu gehört festlegen.
    
    ```shell
    git remote add origin git@github.com:immohacker/ansible-role-meinerolle
    in
    git remote add origin git@personal:immohacker/ansible-role-meinerolle
    ändern
    Gleichzeitig den richtigen Benutzername und Email setzten
    git config user.email "meinepersonalemail"
    git config user.name  "immohacker"
    ```
    
      
    Und in der Firmen Git Verzeichnis
    
    ```shell
    git remote add origin git@github.com:meincompanyname/ansible-role-meinerolle
    in
    git remote add origin git@company:meincompanyname/ansible-role-meinerolle
    ändern
    Gleichzeitig den richtigen Benutzername und Email setzten
    git config user.email "meinefirmenemail"
    git config user.name  "meinfirmenbenutzername"
    ```
    
    Ob Alles geklapp hat, kann man sich mit anschauen
    
    ```shell
    git config -l --show-origin
    
    Ausgabe:
    
    file:.git/config        core.repositoryformatversion=0
    file:.git/config        core.filemode=true
    file:.git/config        core.bare=false
    file:.git/config        core.logallrefupdates=true
    file:.git/config        user.email=xxxxxx
    file:.git/config        user.name=immohacker
    file:.git/config        remote.origin.url=git@git_immohacker:immohacker/ansible-collection-general
    file:.git/config        remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
    
    ```

\--

# .gitignore Datei

Manchmal git es Dateien die nur lokal bleiben sollen und nicht mit hochgeladen werden sollen.  
Zum Beispiel die Update Scripte.  
  
Im Hauptverzeichnis des Projektes also da wo auch das ".git" Verzeichnis liegt, in der gleichen Ebene eine Datei mit dem Namen .gitignore erstellen.  
  
Dann sähe das ganze so aus:

```shell
tree -a -L 1

output:

.
├── docs
├── galaxy.yml
├── .git
├── .gitignore
├── initgit.sh
├── plugins
├── README.md
├── resetremote.sh
└── roles

Wie zu erkennen liegen .git und .gitignore auf einer Ebene

```

In Diese Datei mit Relativen Pfaden die Dateien rein die ignoriert werden sollen.  
In unserem Beispiel 3 Dateien, eine davon in Einem Unterverzeichnis.  
Gibt man nur das Unterverzeichnis an werden alle Dateien samt Verzeichnis ignoriert.

```
initgit.sh
resetremote.sh
plugins/README.md
```