[Allgemein] - Mitschrift Kurs 20210829 - Druckversion +- Joopi (https://forum.hermann-splitthoff.de) +-- Forum: Wissenswertes (https://forum.hermann-splitthoff.de/forumdisplay.php?fid=1) +--- Forum: Linux (https://forum.hermann-splitthoff.de/forumdisplay.php?fid=3) +---- Forum: Git (https://forum.hermann-splitthoff.de/forumdisplay.php?fid=29) +---- Thema: [Allgemein] - Mitschrift Kurs 20210829 (/showthread.php?tid=1383) |
Mitschrift Kurs 20210829 - Joopi - 24-11-2024 Git-Kurs Git Git konfigurieren auf der Konsole: Code: git config --global user.name "Jopii" mit Code: pwd das aktuelle Arbeitsverzeichnis anzeigen lassen. Ein neues Repository im aktuellen Verzeichnis erstellen: Code: git init Damit wird ein versteckter Ordner .git erzeugt. Prüfen, in welchem Zustand die Dateien sind: Code: git status Zeigt z.B. welche Dateien geändert wurden und vieles mehr. In der Staging Area werden Commits angelegt (Commits sind quasi kleine Versionsbunker). Eine Datei oder einen Ordner der Staging Area hinzufügen: Code: git add <file> Eine mit add zugefügte Datei aus der Staging Area entfernen: Code: git rm --cached <file> Das Hinzufügen wird quasi rückgängig gemacht. Eine mit add hinzugefügte Datei kann weiterhin bearbeitet werden. Code: git status Im Status wird gezeigt, dass die Datei in der Staging Aarea ist, aber geändert wurde (**add** wieder ausführen oder **restore**, um Änderungen zu verwerfen) Um Datei oder Ordner in ein Repository zu bringen: Code: git commit -m <message> Die Option -m muss von einer Erklärung zum Commit-Inhalt, meist sind es Änderungen, gefolgt ausgeführt werden. Wenn git commit ohne Option aufgerufen wird, dann öffnet sich eine Datei, in die man dann den gewünschten Text oben als kurzer Titel und dann als Langtext schreiben kann. Kurze Änderungsmitteilungen werden über die Option -m gefolgt von "Nachrichtentext" in das Repository übernommen. Änderung im Commit bzw. im Repository anzeigen lassen (Commit-Historie): Code: git log Das ist die normale Ausgabe. Code: git log -p Zeigt mehr Änderungen in den Einzelheiten, also sehr ausführlich. Code: git log --online Eher verkürzte Darstellung der Änderungen in einer Zeile. Commits abändern, weil doch noch nicht richtig (immer nur lokal verwenden, wenn es sein muss). Code: git commit --amend Der letzte Commit wird demnach überschrieben. Bei Remote-Repositories ist das nicht gut. Wie arbeitet ".gitignore"? Es wird eine Datei mit dem Namen ".gitignore" angelegt, in der z.B. ganze Pfade oder eben auch nur Dateien eingetragen werden, die vom Commit ausgenommen werden sollen. Das könnn z.B. auch Dateien sein, in denen Zugangsparameter für Datenbanken enthalten sind oder andere sensible Daten. Es können auch Datei-Extensions wie *.txt genutzt werden. Man kann die Datei .gitignore selber schreiben. Aber man kann auch auf vorgefertige Dateien auf GitHub zugreifen: .gitignore Diese Ignore-Dateien sind themenspezifisch vorhanden. Könnte später mal interessant sein. Alle Änderungen au der Staging Aarea herausnehmen (das Gegenteil von add - unstaging): Code: git reset das betrifft alle Dateien Code: git reset <filename> betrifft nur die angegebene Datei Wenn man den reset-Befehl mit der 7-stelligen ID des Commits ausführt, wird das ganze Commit zurückgesetzt. Alle Änderungen in der Datei Zeile für Zeile anzeigen lassen: Code: git blame <files> GitHub In GitHub wurde aus master nun main, wenn es um den Hauptzweig geht. Das ist dann wichtig, wenn ein Repository konfiguriert wird. Remote-Repositories clonen: Code: git clone <url> Das gilt auch für eigene Projekte, wenn das lokale git nicht mehr zuständig ist, sondern alles auf github liegt. Code: git remote -v Zeigt an, welche remote Repositories getrackt werden. Bei git status wird angezeigt branch master und origin/master. Der erste Master ist der lokale, der zweite Master (oder main) ist der Master vom Clone! Prüfen, welche Branches vorhanden sind: Code: git branch (zeigt an, welchen origin/master er trackt Herunterladen von Commits und Branches von einem remote Repository: Code: git fetch Wenn der Clone weiter ist, da mit fetch die Neuerungen geholt wurden, wird mit dem lokalen Master zusammengeführt: Code: git merge origin/master Wenn ich alleine an dem Projekt arbeiten, benötige ich die obigen Möglichkeiten nicht (nur push zum Hochladen). GitHub für eigene Projekte Es muss ein Account auf GitHub vorhanden sein. Das Repository muss einen Namen haben: orbitjopii Um das lokale Repository auf GitHub zu bringen muss es heißen: Code: git remote add origin https:/...../orbitjopii.git Um dann die Daten aus dem lokalen Repository in das remote Repository zu bekommen, muss es heßen: Code: git push -u origin master bzw. main Push muss auch später genutzt werden. Änderungen zu GitHub übertragen: Code: git add ... Code: git commit -m message Code: git log --oneline --branches --remotes --graph Code: git push Code: git branch -vv Prüfen, ob die Änderung im origin/master angekommen ist. Code: git log --oneline --branches --remotes --graph Auch hier kann man prüfen, ob master und origin/master gleich sind. Code: (base) xxx@xxx:/media/django/webserver/meine_projekte/janiekorbit$ git pull origin Code: (base) xxx@xxx:/media/django/webserver/meine_projekte/janiekorbit$ git branch -vv Mitschrift Shellscript von Bryan Jenks wegen Cronjob, der Shell ausführt und Git/GitHub aktualisiert Code: ZK_PATH="Pfad zum Vault" How to git push using gitHub token on the command line: Code: git push https://<GITHUB_ACCESS_TOKEN>@github.com/<GITHUB_USERNAME>/<REPOSITORY_NAME>.git Code: git push https://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@github.com/Janiekmulder/orbit2.git Neuer Versuch am 29.08.2021 um 10:48 Uhr …or push an existing repository from the command line: Code: git remote add origin https://github.com/Janiekmulder/orbit2.git Alle Anweisungen, wenn ein neues Repository nackt erstellt wurde. Quick setup — if you’ve done this kind of thing before or https://github.com/Janiekmulder/orbit2.git Get started by creating a new file or uploading an existing file. We recommend every repository include a README, LICENSE, and .gitignore. …or create a new repository on the command line Code: echo "# orbit2" >> README.md …or push an existing repository from the command line Code: git remote add origin https://github.com/Janiekmulder/orbit2.git Code: git push https://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@github.com/Janiekmulder/orbitjopii.git |