Rumah > Soal Jawab > teks badan
Sebagai pengguna root, anda boleh berjaya menggunakan git untuk menolak dan menarik tanpa kata laluan.
Nama projek baharu: newstart.
Berikut ialah tetapan untuk pengguna root.
su root
ssh-keygen -t rsa -f /root/.ssh/id_rsa.github -P ''
Tampal id_rsa.github.pub ke halaman web githhub kunci ssh.
git config --global user.name "someone"
git config --global user.email "sbd@gmail.com"
git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
ssh -T git@github.com
git clone git+ssh://git@github.com/someone/newstart.git /tmp/newstart
Mengklon ke '/tmp/newsstart'...
Pengguna root boleh digunakan dengan jayanya tanpa sebarang masalah.
Sekarang sediakan pengguna biasa debian8
dan semua tetapan tadi akan ditetapkan semula.
su debian8
ssh-keygen -t rsa -f /home/debian8/.ssh/id_rsa.github -P ''
Tampal kunci ini id_rsa.github.pub ke kunci ssh dalam halaman web githhub.
git config --global user.name "someone"
git config --global user.email "sbd@gmail.com"
git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
#注意,在普通用户下,无法使用config.
error: could not lock config file .git/config: Permission denied
sudo git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
ssh -T git@github.com
Permission denied (publickey).
我通过-i 参数,可以让这个普通用户连接上github.
ssh -i ./id_rsa.github.pub -vT git@github.com
You've successfully authenticated, but GitHub does not provide shell access.
可惜,连接上没有用,无法clone.
git clone git+ssh://git@github.com/someone/newstart.git /tmp/newstart
Cloning into '/tmp/newstart'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
Bagaimana saya boleh mengubah suai langkah saya untuk pengguna biasa? Apakah yang menyebabkan perkara ini berlaku?
我想大声告诉你2017-05-02 09:47:47
Adalah disyorkan untuk menyemak pembolehubah persekitaran HOME anda. Mungkin anda telah mengubahnya sebelum ini, menyebabkan git tidak menemui .gitconfig
sebagai tambahan, anda boleh menyemak sama ada terdapat .gitconfig
dalam direktori rumah pengguna anda. Gunakan dalam direktori pengguna:
ls -a | grep .gitconfig
Jika tiada .gitconfig
dipaparkan, ini mungkin kerana git tidak dapat mencari gitconfig
dalam direktori utama pengguna semasa.
Atau anda boleh menggunakan perintah locate
untuk mencari .gitconfig
,
locate .gitconfig
Jika malangnya, anda tidak dapat mencarinya menggunakan locate, kemudian gunakan updatedb
untuk mengemas kini pangkalan data locate Jika cakera keras anda cukup pantas, ia boleh disiapkan dengan cepat.
sudo updatedb
Sudah tentu anda juga boleh menggunakan perintah find
, tetapi kelajuannya lebih perlahan:
sudo find / -name .gitconfig
Selepas operasi di atas mendapat keputusan, anda boleh menyemak sama ada laluan fail .gitconfig
adalah hasil daripada echo $HOME
Jika tidak, ini bermakna masalahnya adalah pembolehubah persekitaran $HOME anda untuk menetapkan semula kepada anda Laluan ke direktori rumah pengguna semasa.