Menyediakan dan menggunakan pelbagai akaun Git pada satu mesin
Gunakan kekunci SSH bebas: Menjana kunci SSH eksklusif (seperti peribadi dan kerja) untuk setiap akaun Git dan tambahkannya kepada ejen SSH; 2. Konfigurasikan fail konfigurasi SSH: Tetapkan hos tersuai untuk akaun yang berbeza dalam ~/.ssh/config (seperti github.com-personal dan github.com-work) untuk mengikat kunci yang sepadan; 3. Kemas kini URL Jauh Gudang: Gunakan hos tersuai apabila mengkloning atau menetapkan jarak jauh untuk memastikan kekunci yang betul dipadankan secara automatik; 4. Tetapkan Maklumat Pengguna Git Menurut Gudang: Padam Konfigurasi User.Name/Email Global, dan laksanakan konfigurasi git untuk menetapkan maklumat identiti yang sepadan secara berasingan dalam setiap projek untuk mengelakkan kekeliruan silang projek dan sepenuhnya merealisasikan pengasingan yang selamat dari pelbagai akaun Git.
Jika anda bekerja di seluruh projek peribadi dan profesional - atau menguruskan repo untuk pelbagai organisasi - anda mungkin perlu menggunakan beberapa akaun Git pada mesin yang sama . Berita baik: Git menyokong ini dengan baik, tetapi ia memerlukan sedikit persediaan untuk mengelakkan kekeliruan atau tidak sengaja dilakukan di bawah identiti yang salah.
Inilah cara melakukannya dengan bersih dan selamat:
✅ 1. Gunakan kekunci SSH (bukan nama pengguna/kata laluan HTTPS)
Elakkan menyesuaikan kata laluan atau kelayakan cache. Sebaliknya, menghasilkan kekunci SSH berasingan untuk setiap akaun.
Langkah:
-
Untuk github peribadi anda:
ssh -keygen -t ed25519 -c "your -email@example.com" -f ~/.ssh/id_ed25519_personal
Untuk kerja anda GitHub:
ssh -keygen -t ed25519 -c "your-work-email@company.com" -f ~/.ssh/id_ed25519_work
Kemudian masukkan kedua -dua ejen SSH anda:
ssh-add ~/.ssh/id_ed25519_personal ssh-add ~/.ssh/id_ed25519_work
Tambah kunci awam ( *.pub
) ke akaun GitHub/Gitlab relatif.
✅ 2. Konfigurasikan fail konfigurasi SSH
Ini adalah fail sihir yang memberitahu Git yang kunci untuk digunakan berdasarkan domain repo atau nama hos.
Edit ~/.ssh/config
(buat jika ia tidak wujud):
# GitHub peribadi Tuan rumah Github.com-personal Hostname github.com Git pengguna IdentityFile ~/.ssh/id_ed25519_Personal # Kerja GitHub Tuan rumah github.com-work Hostname github.com Git pengguna IdentityFile ~/.ssh/id_ed25519_work
Sekarang anda boleh mengklon atau mengemas kini jauh menggunakan tuan rumah tersuai ini.
✅ 3. klon atau kemas kini URL jauh
Semasa mengkloning repo, gunakan hos tersuai dari konfigurasi SSH anda:
Peribadi:
git clone git@github.com- personal: your-username/repo.git
Kerja:
git clone git@github.com-work: your-work-org/repo.git
Sudah mempunyai repo yang diklonkan dengan github.com
lalai? Hanya kemas kini jauh:
git set-url asal git@github.com-work: your-work-org/repo.git
Ini memastikan kunci SSH yang betul digunakan secara automatik.
✅ 4. Tetapkan pengguna git per repo (bukan global)
Jangan sekali -kali melakukan e -mel yang salah. Jangan gunakan git config --global user.name/email
jika anda menguruskan pelbagai identiti.
Sebaliknya, tetapkannya setiap repo:
CD/PATH/TO/PERIBADI-REPO git config user.name "Nama peribadi anda" git config user.email "your- email@example.com" CD/PATH/TO/WORK-REPO git config user.name "Nama kerja anda" git config user.email "your-work-email@company.com"
Anda boleh menyemak identiti mana yang aktif dalam repo:
git config user.email
? Petua Pro: Gunakan alias shell atau skrip untuk konfigurasi git auto-set berdasarkan folder (contohnya, jika laluan mengandungi
/work/
, tetapkan identiti kerja).
Bonus: Elakkan konfigurasi global yang tidak disengajakan
Jika anda sudah menetapkan konfigurasi Git Global, keluarkannya:
git config --global --unset user.name git config --global --Unset user.email
Ini memaksa anda untuk memikirkan identiti yang anda gunakan setiap projek - geseran kecil yang menghalang kesilapan besar.
Itu sahaja. Dengan SSH Keys, pintar ~/.ssh/config
, dan konfigurasi git repo-tempatan, anda boleh dengan selamat dan bersih menguruskan identiti pelbagai git pada satu mesin. Tidak ada lagi "Kenapa komitmen ini di bawah e -mel peribadi saya?" kejutan.
Pada dasarnya hanya:
- Kekunci SSH yang unik bagi setiap akaun
- Tuan rumah SSH tersuai dalam konfigurasi
- Pengguna/e -mel Git tempatan (bukan global) setiap repo
Tidak kompleks - hanya mudah diabaikan.
Atas ialah kandungan terperinci Menyediakan dan menggunakan pelbagai akaun Git pada satu mesin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Untuk menambah subtree ke repositori git, mula-mula tambahkan repositori jauh dan dapatkan sejarahnya, kemudian gabungkannya ke dalam subdirektori menggunakan arahan Gitmerge dan Gitread-tree. Langkah-langkah adalah seperti berikut: 1. Gunakan perintah Gitremoteadd-F untuk menambah repositori jauh; 2. Jalankan gitmerge-srecursive-no-commit untuk mendapatkan kandungan cawangan; 3. Gunakan Gitread-Tree-Prefix = untuk menentukan direktori untuk menggabungkan projek sebagai subtree; 4. Mengemukakan perubahan untuk melengkapkan penambahan; 5. Apabila mengemas kini, gitfetch terlebih dahulu dan ulangi penggabungan dan langkah -langkah untuk menyerahkan kemas kini. Kaedah ini mengekalkan sejarah projek luaran lengkap dan mudah dikekalkan.

Ya, anda boleh menggunakan arahan untuk membuat dan beralih ke cawangan git baru, kaedah khusus adalah seperti berikut: 1. Gunakan Gitswitch-C: Ini adalah cara yang lebih moden dan jelas, sebagai contoh, gitswitch-cnew-feature akan mencipta dan beralih ke cawangan bernama baru; 2. Gunakan Gitcheckout-B: Ini adalah kaedah yang lebih tua tetapi biasa digunakan, sebagai contoh, Gitcheckout-Bnew-feature mempunyai kesan yang sama seperti yang pertama. Nota: Gitswitch diperkenalkan dalam GIT2.23, dan versi lama perlu menggunakan gitcheckout. Anda boleh menentukan cawangan berdasarkan cawangan lain, seperti gitswitch-cnew-

Gunakan Gitmerge --No-FF untuk memaksa Git untuk membuat gabungan komitmen, walaupun anda boleh maju ke hadapan. 1. Gunakan parameter --no-FF untuk memelihara sejarah cawangan dan menjelaskan sumber perubahan; 2. Kaedah ini amat berguna semasa kajian semula kod atau pengauditan, dan sering digunakan dalam strategi cawangan yang ketat seperti gitflow; 3. Operasi ini boleh automatik dengan mengkonfigurasi alias atau skrip, seperti gitconfig-globalalias.merge-noff '! Gitmerge-no-ff', dengan itu memudahkan proses.

TOCLEANLEMOVEAGITSUBMODULE, FirstDeinitializeitWithGitsubModuledeinit-fpath/to/submodule, thendeleteitsfilesviarmarm-rf.git/modu les/path/to/submoduleandgitrm-fpath/to/submodule, dan finallyremoverelatedentriesfrom.git/configand.gitmodulesbefeforeCommittingt

Rungitreflog-tarikh = localToviewRecentReferenceChangesandlocatethedeletedeletedbranchbyitsnameorcommithash.2.identifyTheCommithashushbeforethe "deletedbranch" mesej

Kaedah untuk menetapkan nama pengguna dan peti mel Git adalah menggunakan gitconfig-globaluser.name dan gitconfig-globaluser.email perintah untuk mengkonfigurasi maklumat identiti di seluruh dunia. Langkah-langkah khusus adalah seperti berikut: 1. Tetapkan nama pengguna: Jalankan gitconfig-globaluser.name "YourName"; 2. Konfigurasi peti mel: Jalankan gitconfig-globaluser.email "your.email@example.com"; 3. Sahkan tetapan: lulus gitconfiguser.name dan gitco

UsegitmergetopreserveHistoryandcollaborasifely, terutama sekali

Untuk membatalkan komit yang telah ditolak ke repositori tetapi menyimpan sejarah, gunakan Gitrevert untuk mewujudkan komit baru untuk membalikkan perubahan kepada komit yang ditentukan. 1. Gunakan gitlog-eleline untuk mencari nilai hash sasaran komit; 2. Melaksanakan Gitrevert atau seperti Gitreverthead ~ 2 untuk membatalkan komit tertentu; 3. Jika terdapat konflik, menyelesaikannya secara manual dan teruskan dengan Gitrevert-berterusan, atau membatalkan; 4. Maklumat penyerahan boleh diedit dan disahkan; 5. Bagi komitmen yang digabungkan, parameter -M1 perlu ditambah. Kaedah ini selamat untuk cawangan bersama dan mengelakkan masalah yang disebabkan oleh penulisan semula sejarah.
