Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| versionsverwaltung:git [2022/05/04 20:42] – [Änderungen zurücknehmen] st | versionsverwaltung:git [2025/03/30 22:15] (aktuell) – [Änderungen zurücknehmen] st | ||
|---|---|---|---|
| Zeile 168: | Zeile 168: | ||
| * lokale Änderungen zurücknehmen (wie svn revert): < | * lokale Änderungen zurücknehmen (wie svn revert): < | ||
| - | * Datei doch nicht committen: < | + | * Datei doch nicht committen: < |
| + | git restore --staged UNGEWOLLTER_PFAD_ODER_DATEI | ||
| + | # man kann sogar den gleichen commit wieder benutzen: | ||
| + | git commit -c ORIG_HEAD | ||
| + | </ | ||
| * letzte commit message ändern (öffnet Editor zur Änderung): < | * letzte commit message ändern (öffnet Editor zur Änderung): < | ||
| * Falls der commit bereits an entfernte Repositories gesendet wurde ist die [[https:// | * Falls der commit bereits an entfernte Repositories gesendet wurde ist die [[https:// | ||
| * Author / E-Mail beim letzten commit ändern: <code bash>git commit --amend --author=" | * Author / E-Mail beim letzten commit ändern: <code bash>git commit --amend --author=" | ||
| + | * nachträglich letzten commit signen: <code bash>git commit -S --amend</ | ||
| * mehrere lokale commits mit der falschen user.email sind mit diesem Skript änderbar (leider nicht mit rebase), erfordert aber wieder force push falls bereits übertragen: | * mehrere lokale commits mit der falschen user.email sind mit diesem Skript änderbar (leider nicht mit rebase), erfordert aber wieder force push falls bereits übertragen: | ||
| OLD_EMAIL=" | OLD_EMAIL=" | ||
| Zeile 220: | Zeile 225: | ||
| Bei beiden Methoden wird die URL zurückgeliefert wo der PR erstellt werden kann. | Bei beiden Methoden wird die URL zurückgeliefert wo der PR erstellt werden kann. | ||
| + | |||
| + | ==== PGP signing ==== | ||
| + | |||
| + | **Keymanagement**: | ||
| + | * erstellen: < | ||
| + | gpg (GnuPG) 2.2.20; Copyright (C) 2020 Free Software Foundation, Inc. | ||
| + | This is free software: you are free to change and redistribute it. | ||
| + | There is NO WARRANTY, to the extent permitted by law. | ||
| + | |||
| + | Please select what kind of key you want: | ||
| + | (1) RSA and RSA (default) | ||
| + | (2) DSA and Elgamal | ||
| + | (3) DSA (sign only) | ||
| + | (4) RSA (sign only) | ||
| + | (14) Existing key from card | ||
| + | Your selection? 1 | ||
| + | RSA keys may be between 1024 and 4096 bits long. | ||
| + | What keysize do you want? (2048) 4096 | ||
| + | Requested keysize is 4096 bits | ||
| + | Please specify how long the key should be valid. | ||
| + | 0 = key does not expire | ||
| + | < | ||
| + | <n>w = key expires in n weeks | ||
| + | <n>m = key expires in n months | ||
| + | <n>y = key expires in n years | ||
| + | Key is valid for? (0) | ||
| + | Key does not expire at all | ||
| + | Is this correct? (y/N) y | ||
| + | |||
| + | GnuPG needs to construct a user ID to identify your key. | ||
| + | |||
| + | Real name: Stefan Schwarz | ||
| + | Email address: stefan.schwarz@domain.tld | ||
| + | Comment: | ||
| + | You selected this USER-ID: | ||
| + | " | ||
| + | |||
| + | Change (N)ame, (C)omment, (E)mail or (O)kay/ | ||
| + | We need to generate a lot of random bytes. It is a good idea to perform | ||
| + | some other action (type on the keyboard, move the mouse, utilize the | ||
| + | disks) during the prime generation; this gives the random number | ||
| + | generator a better chance to gain enough entropy. | ||
| + | We need to generate a lot of random bytes. It is a good idea to perform | ||
| + | some other action (type on the keyboard, move the mouse, utilize the | ||
| + | disks) during the prime generation; this gives the random number | ||
| + | generator a better chance to gain enough entropy. | ||
| + | gpg: key 3DD879D552CC995F marked as ultimately trusted | ||
| + | gpg: directory '/ | ||
| + | gpg: revocation certificate stored as '/ | ||
| + | public and secret key created and signed. | ||
| + | |||
| + | pub | ||
| + | CFEF13CC5040450E63CC1BC43DD879D552CC995F | ||
| + | uid Stefan Schwarz < | ||
| + | sub | ||
| + | * anzeigen: <code bash>gpg --list-secret-keys --keyid-format=long</ | ||
| + | gpg: checking the trustdb | ||
| + | gpg: marginals needed: 3 completes needed: 1 trust model: pgp | ||
| + | gpg: depth: 0 valid: | ||
| + | / | ||
| + | ------------------------------- | ||
| + | sec | ||
| + | CFEF13CC5040450E63CC1BC43DD879D552CC995F | ||
| + | uid | ||
| + | ssb | ||
| + | * testen: <code bash> | ||
| + | * Pubkey anzeigen: <code bash>gpg --armor --export 3DD879D552CC995F # kurze ID</ | ||
| + | * Backup des private keys: <code bash>gpg --export-secret-keys --armor CFEF13CC5040450E63CC1BC43DD879D552CC995F > ~/ | ||
| + | |||
| + | * pgp-signing in git aktivieren: | ||
| + | * <code bash>git config --global commit.gpgsign true</ | ||
| + | * <code bash>git config --global user.signingkey 3DD879D552CC995F # KurzID</ | ||
| + | * :!: Auf dem git-server muss noch im Benutzerprofil der pubkey hinterlegt werden. | ||
| + | |||
| + | Quelle: https:// | ||
| + | === Fehlerbehandlung === | ||
| + | |||
| + | < | ||
| + | Lösung: <code bash> | ||
| + | |||
| + | -> permanent in z.B. .bashrc eintragen. | ||
| + | |||
| ==== Tags ==== | ==== Tags ==== | ||
| Zeile 341: | Zeile 428: | ||
| * zuerst zurück in master wechseln: < | * zuerst zurück in master wechseln: < | ||
| * Änderung aus BRANCH_NAME in master mergen: < | * Änderung aus BRANCH_NAME in master mergen: < | ||
| - | * neuen Branch auch in entfernten Repos anlegen: < | + | * neuen Branch auch in entfernten Repos anlegen: < |
| * Branch **lokal löschen**: < | * Branch **lokal löschen**: < | ||
| * Branch **auf Server löschen**: < | * Branch **auf Server löschen**: < | ||