cari

Rumah  >  Soal Jawab  >  teks badan

github - Bagaimana untuk menyelesaikan konflik antara dua kekunci .ssh dalam git

Pada masa ini saya menggunakan github dan gitlab syarikat, dan github sepadan dengan nombor QQ saya, dan gitlab sepadan dengan akaun syarikat. Dan saya tidak mahu menambah akaun syarikat di Github untuk mendapatkan kunci.
Selesaikan masalah: Rujuk artikel dalam talian dan tulis fail konfigurasi secara setempat

  # gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa(对应公司的账号)

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa2(我的QQ号)

Penerangan situasi:
1. Masalah yang berlaku ialah nama yang dikemukakan oleh syarikat sebenarnya adalah maklumat QQ saya, tetapi kunci SSH yang ditambahkan pada gitlab telah dijana oleh akaun syarikat yang sepadan. (Saya rasa logiknya agak mengelirukan)

2. Saya menyemak kucing konfigurasi setempat ~/.gitconfig Ia adalah maklumat yang sepadan dengan nombor QQ saya!

Soalan: Mengapakah kunci .ssh akaun syarikat dikonfigurasikan pada gitlab, dan maklumat akaun QQ juga dipaparkan semasa menyerahkan kod? Adakah gitlab tidak mempunyai pengesahan kebenaran

阿神阿神2796 hari yang lalu626

membalas semua(2)saya akan balas

  • 为情所困

    为情所困2017-05-02 09:31:48

    Anda mungkin tidak faham perbezaan antara push dan commit

    push adalah untuk menolak perpustakaan tempatan ke hujung terpencil dan memerlukan kebenaran sshkey digunakan untuk mengesahkan sama ada terdapat kebenaran tolak
    commit hanyalah untuk menyerahkan perubahan secara setempat ke gudang tempatan. Ia tidak diperlukan. .gitconfigNama pengguna dan alamat e-mel di dalamnya hanyalah commit maklumat yang sepadan dengan pengarang Mereka tidak mempunyai fungsi kawalan kebenaran dan boleh ditentukan sesuka hati Walaupun anda menukarnya kepada Steve Jobs, anda boleh menyerahkannya

    • git config user.name Anda boleh melihat konfigurasi nama pengguna repo semasa

    • git log Anda boleh menyemak alamat e-mel dan nama pengguna yang digunakan untuk menyerahkan komitmen sejarah

    ~/.gitconfig ialah konfigurasi global git anda Jika tiada konfigurasi berasingan di bawah projek, ia akan diwarisi daripada fail konfigurasi

    Penyelesaian: Konfigurasikan secara berasingan dalam projek syarikat

    cd repo_of_work
    git config user.name 公司用户名
    git config user.email 公司邮箱

    Malah, ini masih agak mudah untuk menyebabkan kekeliruan Apabila terdapat projek syarikat baharu dan anda terlupa untuk mengkonfigurasi e-mel syarikat, situasi yang sama akan berlaku dengan cara ini. setiap kali ada projek baharu, tiada konfigurasi Nama pengguna dan e-mel tidak boleh dilakukan

    balas
    0
  • PHPz

    PHPz2017-05-02 09:31:48

    Arahan tambahan disiarkan di tingkat atas

    $ git config -l
    $ git config --global -l 
    $ git config --global --unset user.name
    $ git config --global --unset user.email

    balas
    0
  • Batalbalas