Einrichten und Verwenden mehrerer Git -Konten auf einem Computer
Verwenden Sie unabhängige SSH -Tasten: Generieren Sie einen exklusiven SSH -Schlüssel (wie persönlich und Arbeit) für jedes Git -Konto und fügen Sie ihn dem SSH -Agenten hinzu. 2. Konfigurieren Sie die SSH-Konfigurationsdatei: Setzen Sie einen benutzerdefinierten Host für verschiedene Konten in ~/.SH/config (z. B. Github.com-Personal und Github.com-Work), um den entsprechenden Schlüssel zu binden. 3. Aktualisieren Sie die Remote -URL des Lagerhauses: Verwenden Sie einen benutzerdefinierten Host beim Klonen oder Einstellen der Fernbedienung, um sicherzustellen, dass der richtige Schlüssel automatisch übereinstimmt. 4. Setzen Sie GIT-Benutzerinformationen gemäß Lager: Löschen Sie den globalen Benutzer.
Wenn Sie über persönliche und berufliche Projekte hinweg arbeiten - oder Repos für mehrere Organisationen verwalten - müssen Sie wahrscheinlich mehrere Git -Konten auf demselben Computer verwenden. Die gute Nachricht: Git unterstützt dies gut, erfordert jedoch ein bisschen Setup, um Verwirrung oder versehentliche Commits unter der falschen Identität zu vermeiden.
Hier erfahren Sie, wie Sie es sauber und sicher machen können:
✅ 1. verwenden SSH -Tasten (nicht HTTPS -Benutzername/Passwort)
Vermeiden Sie das Jonglieren von Passwörtern oder zwischengespeicherten Anmeldeinformationen. Generieren Sie stattdessen separate SSH -Tasten für jedes Konto.
Schritte:
-
Für Ihren persönlichen GitHub:
ssh -keygen -t ed25519 -c "your-personal-email@example.com" -f ~/.sssh/id_ed2519_personal
Für Ihre Arbeit GitHub:
ssh -keygen -t ed25519 -c "your-work-email@company.com" -f ~/.sssh/id_ed2519_work
Fügen Sie dann beide zu Ihrem SSH -Agenten hinzu:
ssh-add ~/.sssh/id_ed25519_personal ssh-add ~/.sssh/id_ed25519_work
Fügen Sie die öffentlichen Schlüssel ( *.pub
) den relativen Github/GitLab -Konten hinzu.
✅ 2. Konfigurieren Sie die SSH -Konfigurationsdatei
Dies ist die magische Datei, die Git basierend auf der Domain oder dem Hostnamen des Repos anspricht.
Bearbeiten ~/.ssh/config
(erstellen Sie es, wenn es nicht vorhanden ist):
# Persönlicher Github Host Github.com-Personal Hostname github.com Benutzer Git IdentityFile ~/.ssh/id_ed25519_Personal # Arbeit GitHub Host Github.com-Work Hostname github.com Benutzer Git IdentityFile ~/.ssh/id_ed25519_work
Jetzt können Sie mit diesen benutzerdefinierten Hosts Fernbedienungen klonen oder aktualisieren.
✅ 3.. Klon- oder Aktualisierung von Remote -URLs
Verwenden Sie beim Klonen eines Repo den benutzerdefinierten Host von Ihrer SSH -Konfiguration:
Persönlich:
git clone git@github.com-personal: your-username/repo.git
Arbeiten:
git clone git@github.com-work: your-work-org/repo.git
Haben Sie bereits ein Repo mit dem Standard github.com
kloniert? Aktualisieren Sie einfach die Fernbedienung:
Git Remote set-url Origin git@github.com-work: Your-work-org/repo.git
Dies stellt sicher, dass der richtige SSH -Schlüssel automatisch verwendet wird.
✅ 4. Setzen Sie den Git -Benutzer pro Repo (nicht global)
Verpflichten Sie niemals die falsche E -Mail. Verwenden Sie keine git config --global user.name/email
wenn Sie mehrere Identitäten verwalten.
Setzen Sie sie stattdessen pro Repo:
CD/Pfad/to/Personal-Repo Git config user.name "Ihr persönlicher Name" git config user.email "your-personal-email@example.com" CD/Pfad/to/Work-Repo Git config user.name "Ihr Arbeitsname" Git config user.email "your-work-email@company.com"
Sie können überprüfen, welche Identität in einem Repo aktiv ist:
git config user.email
? Pro-Tipp: Verwenden Sie einen Shell-Alias oder ein Skript, um die Git-Konfiguration basierend auf dem Ordner automatisch einzustellen (z. B. wenn der Pfad
/work/
festlegt).
Bonus: Vermeiden Sie versehentliche globale Konfigurationen
Wenn Sie die globale Git -Konfiguration bereits festgelegt haben, entfernen Sie sie:
Git config --global --unset user.name Git config --global -anset user.email
Dies zwingt Sie zu überlegen, welche Identität Sie pro Projekt verwenden - eine kleine Reibung, die große Fehler verhindert.
Das war's. Mit SSH-Tasten, einem intelligenten ~/.ssh/config
und Repo-Local Git-Konfigurationen können Sie mehrere Git-Identitäten auf einer Maschine sicher und sauber verwalten. Nicht mehr "Warum ist dieser Vertrag unter meiner persönlichen E -Mail?" Überraschungen.
Grundsätzlich nur:
- Einzigartige SSH -Tasten pro Konto
- Benutzerdefinierte SSH -Hosts in Config
- Lokaler (nicht globaler) Git -Benutzer/E -Mail pro Repo
Nicht komplex - einfach leicht zu übersehen.
Das obige ist der detaillierte Inhalt vonEinrichten und Verwenden mehrerer Git -Konten auf einem Computer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Verwenden Sie Gitmerge-No-FF, um Git zu zwingen, Merge-Commits zu erstellen, auch wenn Sie schnell vorwärts gehen können. 1. Verwenden Sie den Parameter-no-fF, um die Zweighistorie zu erhalten und die Quelle des Wandels zu klären. 2. Diese Methode ist besonders nützlich während der Codeüberprüfung oder -prüfung und wird häufig in strengen Zweigstrategien wie Gitflow verwendet. 3. Diese Operation kann automatisiert werden, indem Alias oder Skripte wie GitConfig-Globalalias.Merge-noff '! Gitmerge-no-FF' konfiguriert werden, wodurch der Prozess vereinfacht wird.

TocleanlyRemoveAgitsubmodule, FirstDeinitializeItWithGitSubmoduledeinit-Fad/to/submodule, ThendeleteEtsFilesviardrf.git/modu les/path/to/submoduleandgitrm-fad/to/submodule, und endgültigRemoverelatedEntries von.git/configand.gitmodulesBeForecommitttt

RUNGIREFLOG--date = localToviewRecentReferencechangesandlocatethededEletedbranchbyitsNameorCommithash.2.IdentifytheCommithaNtoBeforee "Deletedbranch" MessageinTheReFrogoutput.3.RecreatetheBanchuchusedgitchout-Bbranch-Namecommit-Hash-Hash oder

Die Methode zum Festlegen des Git-Benutzernamens und des Mailbox besteht darin, die Befehle von GitConfig-Globaluser.name und GitConfig-GlobalUser.Email zu verwenden, um die Identitätsinformationen global zu konfigurieren. Die spezifischen Schritte sind wie folgt: 1. Setzen Sie den Benutzernamen: Gitconfig-Globaluser.Name "Yourname" ausführen; 2. Konfigurieren Sie das Mailbox: Gitconfig-GloBaluser.Email "your.email@example.com"; 1. Überprüfen Sie die Einstellungen: Geben Sie GitConfiguser.name und Gitco über

UseGitMergetopreserveHistoryAndCollaboratesafely, insbesondere umfublicbrancheslikemaNorreveles

Um ein Commit zu widerrufen, das in ein Repository gedrängt wurde, aber den Verlauf hält, verwenden Sie Gitervert, um ein neues Commit zu erstellen, um die Änderungen am angegebenen Komitee umzukehren. 1. Verwenden Sie Gitlog-Einstieg, um den Hash-Wert des Zielausschusses zu finden. 2. Ausführen von Gitrevert oder wie Gitreverthead ~ 2, um ein bestimmtes Commit zu widerrufen; 3. Wenn es einen Konflikt gibt, lösen Sie ihn manuell und fahren Sie mit Gitrevert fort-kontinuieren oder abbrechen; 4. Die Einreichungsinformationen können bearbeitet und bestätigt werden; 5. Für fusionierte Commits muss der Parameter -m1 hinzugefügt werden. Diese Methode ist für gemeinsame Zweige sicher und vermeidet Probleme, die durch die Umschreibung der Anamnese verursacht werden.

USeShallowclonesandsparseChEckoutStoreduClonetimeAnddiskusByFetchingonlyN-DEWORTORYAndFiles.2.StructurethemonorepologicalByServiceOrteam, usecodeownerswuchswuchswuchs und KeepbuildsModularWitools-LikeBazelorturborepo.3.3.3.3.

ToamendthemostrecentcommitMessage, usegitcommit-amend-m "yournewcommitMessage" ifthecommithas nichtbeenpushed;
