GitLab ialah platform pengehosan kod popular yang boleh digunakan oleh pembangun untuk berkongsi dan bekerjasama dalam pembangunan kod. Sesetengah pembangun mungkin menghadapi masalah apabila mereka menggunakan klien Git untuk menyerahkan kod, GitLab memintas penyerahan dengan nama pengguna yang tidak konsisten, yang menyebabkan penyerahan gagal. Dalam artikel ini, kami akan meneroka masalah ini dan menyediakan beberapa penyelesaian untuk menyelesaikannya.
Apabila menggunakan klien Git untuk menyerahkan kod, jika GitLab mengesan bahawa nama pengguna dalam penyerahan tidak sepadan dengan nama pengguna di tapak web GitLab, penyerahan akan dipintas. Khususnya, penyekatan bergantung pada protokol yang anda gunakan semasa menghantar. Jika protokol HTTP digunakan, GitLab menyemak nama pengguna dalam pengepala "Daripada" dalam komit jika protokol SSH digunakan, GitLab menyemak alamat e-mel dalam mesej komit. Jika nilai ini tidak sepadan dengan nilai pada GitLab, komit akan ditolak.
Masalah ini biasanya berlaku dalam situasi berikut:
Untuk menyelesaikan masalah ini, terdapat beberapa kaedah yang anda boleh cuba.
Anda boleh menukar nama pengguna dan alamat e-mel git global dalam klien Git anda untuk memastikan ia sama dengan nama anda di tapak web GitLab Maklumat mancis terpakai. Anda boleh menukarnya dengan dua arahan berikut:
git config --global user.name "your_username" git config --global user.email "your_email"
Sila ambil perhatian bahawa ini akan menukar konfigurasi git global dan semua kod yang anda lakukan akan menggunakan maklumat ini. Ini menghapuskan masalah komit memintas GitLab, tetapi memerlukan kewaspadaan yang melampau kerana semua komit anda akan terikat dengan nama pengguna dan alamat e-mel git global ini.
Jika anda mempunyai berbilang akaun GitLab dan mereka menggunakan alamat e-mel yang berbeza, adalah disyorkan agar anda menggunakan berbilang kunci SSH pada Git Client dan GitLab Gunakan berbilang kunci SSH. Dengan cara ini, anda boleh menggunakan kunci SSH yang berbeza untuk akaun yang berbeza, memastikan nama pengguna dan alamat e-mel dalam komit sepadan dengan akaun GitLab. Begini cara untuk mengkonfigurasi berbilang kunci SSH untuk akaun GitLab yang berbeza dalam klien Git:
ssh-keygen -t rsa -C "your_email_address"
ssh-add ~/.ssh/id_rsa_your_email_address
Di mana "alamat_email_anda" ialah alamat e-mel yang anda tentukan untuk kunci SSH baharu.
Host gitlab_ssh_alias HostName gitlab.com User git IdentityFile ~/.ssh/id_rsa_your_email_address
Perhatikan menggantikan gitlab_ssh_alias dengan alias repo Git pada GitLab anda. Jika anda menggunakan GitLab Enterprise Edition, anda perlu menetapkan HostName kepada URL contoh GitLab anda.
Jika anda ingin menentukan nama pengguna dan alamat e-mel yang berbeza untuk setiap penyerahan, anda boleh menggunakan "--author" dalam arahan serah ” parameter untuk menentukan butiran pengirim, contohnya:
git commit --author="Your Name <your_email@address.com>"
Ini akan menentukan nama pengguna dan alamat e-mel yang berbeza apabila menyerahkan.
Sila ambil perhatian bahawa kaedah ini tidak akan menyelesaikan masalah komit memintas GitLab, tetapi ia akan memberi anda lebih fleksibiliti untuk mengawal nama pengguna dan alamat e-mel dalam komit Git.
Anda boleh mengelakkan isu dengan komit memintas GitLab dengan menukar nama pengguna dan alamat e-mel git global, menggunakan berbilang kunci SSH, atau menyatakan nama pengguna dan alamat e-mel apabila melakukan. Penyelesaian yang berbeza berfungsi untuk kes penggunaan yang berbeza dan anda boleh mencuba mana-mana kaedah ini untuk mencari penyelesaian yang paling sesuai untuk anda.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah gitlab memintas penyerahan dengan nama pengguna yang tidak konsisten. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!