Giunsa Pag-ayo ang Git Kanunay nga Nangayo Alang sa Mga Kredensyal sa Gumagamit Para sa Pagpamatuod sa HTTP(S).


Aron ma-access o luwas nga mabalhin ang data nga wala mag-type sa imong username ug password.

Bisan pa, sa HTTP(S), ang matag koneksyon mag-aghat kanimo sa pagsulod sa imong username ug password (kung ang Git kinahanglan nga panghimatuud alang sa usa ka partikular nga konteksto sa URL) - Ang mga tiggamit sa Github nahibal-an kini pag-ayo.

Sa kini nga artikulo, ipakita namon kanimo kung giunsa ang pag-ayo sa Git kanunay nga nangayo alang sa mga kredensyal sa gumagamit alang sa pag-access sa HTTP(S). Atong ipatin-aw ang lain-laing mga paagi sa pagpugong sa Git gikan sa balik-balik nga pag-aghat alang sa username ug password kung makig-interact sa usa ka hilit nga repository sa HTTP(S).

Giunsa ang Pag-install sa Git sa Linux

Kung wala nimo gi-install ang Git package sa imong sistema, padagana ang angay nga mando alang sa imong pag-apod-apod sa Linux aron ma-install kini (gamita ang Sudo nga mando kung gikinahanglan).

$ sudo apt install git      [On Debian/Ubuntu]
# yum install git           [On CentOS/RHEL/Fedora]
$ sudo zypper install git   [On OpenSuse]
$ sudo pacman -S git        [On Arch Linux]

Pagsulod sa Git Username ug Password sa Remote URL

Sama sa among nahisgutan sa sayo pa, kung ang pag-clone sa usa ka hilit nga Git repository sa HTTP(S), ang matag koneksyon nanginahanglan usa ka username ug password sama sa gipakita.

Aron mapugngan ang Git sa pagpangayo sa imong username ug password, mahimo nimong isulod ang mga kredensyal sa pag-login sa URL sama sa gipakita.

$ sudo git clone https://username:[email /username/repo_name.git
OR
$ sudo git clone https://username:[email /username/repo_name.git local_folder

Ang nag-unang disbentaha niini nga pamaagi nga ang imong username ug password ma-save sa command sa Shell history file.

ingon man sa .git/config file sa ilawom sa lokal nga folder, nga adunay peligro sa seguridad.

$ cat .git/config

Mubo nga sulat: Alang sa mga tiggamit sa Github nga nakahimo sa two-factor authentication, o nag-access sa usa ka organisasyon nga naggamit sa SAML single sign-on, kinahanglan ka nga maghimo ug mogamit usa ka personal nga access token imbis nga mosulod sa imong password alang sa HTTPS Git (sama sa gipakita sa mga sampol nga output niini nga giya). Aron makamugna og personal nga access token, sa Github, adto sa Settings => Developer Settings => Personal access tokens.

Pag-save sa Remote Git Repository Username ug Password sa Disk

Ang ikaduha nga paagi mao ang paggamit sa Git credentials helper aron ma-save ang imong username ug password sa usa ka yano nga file sa disk sama sa gipakita.

$ git config credential.helper store				
OR
$ git config --global credential.helper store		

Sukad karon, ang Git magsulat ug mga kredensyal sa ~/.git-credentials file para sa matag konteksto sa URL, kung ma-access sa unang higayon. Aron matan-aw ang sulod niini nga file, mahimo nimong gamiton ang cat command sama sa gipakita.

$ cat  ~/.git-credentials

Alang sa sunod nga mga mando alang sa parehas nga konteksto sa URL, basahon ni Git ang imong mga kredensyal sa tiggamit gikan sa file sa ibabaw.

Sama sa miaging pamaagi, kini nga paagi sa pagpasa sa mga kredensyal sa gumagamit sa Git dili usab sigurado tungod kay ang file sa pagtipig wala ma-encrypt ug kini gipanalipdan lamang sa mga permiso sa filesystem.

Ang ikatulo nga pamaagi nga gipatin-aw sa ubos, giisip nga mas luwas.

Pag-cache sa Remote Git Repository Username ug Password sa Memorya

Katapusan apan dili labing gamay, mahimo usab nimo gamiton ang katabang sa mga kredensyal sa Git aron temporaryo nga i-save ang imong mga kredensyal sa panumduman sa pipila ka panahon. Aron mahimo kana, i-isyu ang mosunud nga mando.

$ git config credential.helper cache
OR
$ git config --global credential.helper cache

Human sa pagpadagan sa sugo sa ibabaw, sa dihang mosulay ka sa pag-access sa usa ka hilit nga pribadong repositoryo sa unang higayon, ang Git mangutana sa imong username ug password ug i-save kini sa memorya sulod sa pipila ka panahon.

Ang default nga oras sa pag-cache mao ang 900 segundos (o 15 minuto), pagkahuman aghaton ka sa Git nga isulod pag-usab ang imong username ug password. Mahimo nimo kini usbon sama sa mosunod (1800 segundos = 30 minutos o 3600 segundos = 1oras).

$ git config --global credential.helper 'cache --timeout=18000'
OR
$ git config --global credential.helper 'cache --timeout=36000'

Alang sa dugang nga impormasyon sa Git ug mga katabang sa kredensyal, tan-awa ang ilang mga man page.

$ man git
$ man git-credential-cache
$ man git-credential-store

Nakatabang ba kini nga giya? Ipahibalo kanamo pinaagi sa porma sa feedback sa ubos. Mahimo usab nimong ipaambit ang bisan unsang mga pangutana o hunahuna bahin sa kini nga hilisgutan.