කොමිස් තල්ලු කිරීම සඳහා GitHub අක්තපත්‍ර හැඹිලි කිරීමට ක්‍රමයක් තිබේද?


1869

මම මෑතකදී මගේ ගබඩාවන් GitHub හි https: // වෙත සමමුහුර්තකරණයට මාරු කළෙමි (ෆයර්වෝල් ගැටළු හේතුවෙන්), එය සෑම විටම මුරපදයක් ඉල්ලා සිටී.

සෑම අවස්ථාවකදීම සත්‍යාපනය කරනවා වෙනුවට අක්තපත්‍ර හැඹිලි කිරීමට ක්‍රමයක් git pushතිබේද?



2
_netrcඔබගේ අක්තපත්‍ර අඩංගු ගොනුව සංකේතනය කිරීමට ඔබට දැන් අක්තපත්‍ර සහායකයකු භාවිතා කළ හැකිය . බලන්න මගේ පිළිතුර පහත . git-credential-winstore.exeවින්ඩෝස් හි තරමක් දෝෂ සහිත (මතක හැඹිලිය) වඩා ආරක්ෂිත බව මට පෙනී ගියේය.
VonC


git-credential-winstoreවින්ඩෝස් සඳහා හොඳම දේ. දෝෂය කුමක්ද? Ssh සැකසීම වඩාත් සුදුසු විකල්පයයි, මම එය කිහිප වතාවක් සිදු කර ඇතත්, එය වඩාත් දෝෂ සහිත වන අතර සමහර විට ඔබට බහු ධාරකයන් සමඟ සම්බන්ධ වීමට සිදු වූ විට සරල ලෙස ක්‍රියා නොකරයි.
බ්‍රොන් ඩේවිස්

2
"SSH සහතිකය" මගින් මම හිතන්නේ ඔබ අදහස් කළේ "SSH පුද්ගලික යතුර" යන්නයි.
මයිකල් මයර්

Answers:


2374

Git අනුවාදය 1.7.9 සහ ඊට පසු

Git 1.7.9 සිට (2012 ජනවාරි අග දී නිකුත් කරන ලදි), අක්තපත්‍ර සහායකයින් ලෙස හැඳින්වෙන HTTP / HTTPS සඳහා ඔබේ මුරපදය නිතරම ටයිප් නොකිරීමට Git හි පිළිවෙලට යාන්ත්‍රණයක් තිබේ . ( පහත දැක්වෙන අදහස් දැක්වීමේදී මෙම නව අංගය පෙන්වා දීම ගැන ඩැසොනික්ට ස්තූතියි .)

Git 1.7.9 හෝ ඊට පසු, ඔබට පහත සඳහන් අක්තපත්‍ර සහායකයින්ගෙන් එකක් භාවිතා කළ හැකිය:

git config --global credential.helper cache

... එය ඔබගේ මුරපදය මතකයේ රඳවා තබා ගැනීමට (පෙරනිමියෙන්) විනාඩි 15 ක් Git ට පවසයි. ඔබට මෙය සමඟ දීර් time කාලයක් ගත කළ හැකිය:

git config --global credential.helper "cache --timeout=3600"

(එම උදාහරණය ලිනක්ස් සඳහා වන GitHub උදව් පිටුවේ යෝජනා කර ඇත .) ඔබට අවශ්‍ය නම් ඔබේ අක්තපත්‍ර ස්ථිරවම ගබඩා කළ හැකිය, පහත අනෙක් පිළිතුරු බලන්න.

GitHub උපකාරය ද එය යෝජනා කර ඔබ මැක් OS X මෙහෙයුම් පද්ධතිය මත ඉන්නේ භාවිතා නම් බරපැනක් Git ස්ථාපනය කිරීමට, ඔබ සමඟ දේශීය මැක් OS X මෙහෙයුම් පද්ධතිය keystore භාවිතා කළ හැකිය:

git config --global credential.helper osxkeychain

වින්ඩෝස් සඳහා, වින්ඩෝස් සඳහා Git අක්තපත්‍ර කළමණාකරු හෝ msysgit හි wincred ඇත.

git config --global credential.helper wincred # obsolete

වින්ඩෝස් 2.7.3+ සඳහා Git සමඟ (2016 මාර්තු):

git config --global credential.helper manager

ලිනක්ස් සඳහා, ඔබට භාවිතාgnome-keyring කළ හැකිය (හෝ KWallet වැනි වෙනත් යතුරු ක්‍රියාත්මක කිරීම).

1.7.9 ට පෙර Git අනුවාද සමඟ

1.7.9 ට පෙර Git හි අනුවාදයන් සමඟ, මෙම වඩාත් ආරක්ෂිත විකල්පය ලබා ගත නොහැකි originඅතර, මුරපදය මෙම විලාසිතාවට ඇතුළත් කිරීම සඳහා ඔබේ දුරස්ථ භාවිතා කරන URL වෙනස් කිරීමට ඔබට අවශ්‍ය වනු ඇත :

https://you:password@github.com/you/example.git

... වෙනත් වචන වලින් කිවහොත් :passwordපරිශීලක නාමයෙන් පසුව සහ ඊට පෙර @.

ඔබගේ දුරස්ථය සඳහා ඔබට නව URL එකක් සැකසිය හැකිය origin:

git config remote.origin.url https://you:password@github.com/you/example.git

ඔබ භාවිතා කරන බවට වග බලා ගන්න https, ඔබ මෙය කරන්නේ නම්, ඔබගේ GitHub මුරපදය ඔබේ .gitනාමාවලියෙහි සරල පෙළෙහි ගබඩා වන බව ඔබ දැන සිටිය යුතුය , එය පැහැදිලිවම නුසුදුසු ය.

ඕනෑම Git අනුවාදයක් සමඟ (හොඳයි, 0.99 අනුවාදයේ සිට)

විකල්ප ප්‍රවේශයක් නම් ඔබගේ පරිශීලක නාමය සහ මුරපදය ඔබගේ ~/.netrcගොනුවට ඇතුළත් කිරීමයි, කෙසේ වෙතත්, මුරපදය දුරස්ථ URL තුළ තබා ගැනීම මෙන්ම, මෙයින් අදහස් වන්නේ ඔබේ මුරපදය තැටියේ සරල පෙළෙහි ගබඩා වන අතර එමඟින් අඩු ආරක්ෂිත වන අතර නිර්දේශ නොකරයි. කෙසේ වෙතත්, ඔබට මෙම ප්‍රවේශය ගැනීමට අවශ්‍ය නම්, පහත දැක්වෙන පේළිය ඔබේ ~/.netrc:

machine <hostname> login <username> password <password>

... වෙනුවට <hostname>සේවාදායකයේ ධාරක නම සමඟ, හා <username>හා <password>ඔබගේ භාව්ත නාමය හා මුර පදය සමග. එම ගොනුවේ සීමිත ගොනු පද්ධති අවසරයන් සැකසීමටද මතක තබා ගන්න:

chmod 600 ~/.netrc

වින්ඩෝස් හි, මෙම ගොනුව කැඳවිය යුතු බව සලකන්න _netrc, ඔබට% HOME% පරිසර විචල්‍යය අර්ථ දැක්වීමට අවශ්‍ය විය හැකිය - වැඩි විස්තර සඳහා බලන්න:


73
ඔබගේ මුරපදය සරල පෙළෙහි ගබඩා නොකරන්න. Git 1.7.9 වන විට ඔබට අක්තපත්‍ර සහායකයින් භාවිතා කළ හැකිය. git config --global credential.helper osxkeychainOS X හි. වෙනත් මෙහෙයුම් පද්ධති සඳහා help.github.com/articles/set-up-git
dazonic

6
FWIW, ඔස්ක් යතුරුපුවරු දේවල් මූලික GIT ප්‍රභව කේතයේ කොටසකි, එය බ rew හෝ මැක්පෝර්ට්ස් හි සුවිශේෂී අංගයක් නොවේ හෝ මාසයේ රසය කුමක් වුවත්. ඔබට මුල සිටම git සෑදීමට අවශ්‍ය නැත - cd දායකත්වය / අක්තපත්‍ර / osxkeychain / සහ ධාවනය කරන්න.
synthesizerpatel

2
සාධක දෙකක සත්‍යාපනය සමඟ ඔබ පුද්ගල ප්‍රවේශ ටෝකනයක් ලෙස ගිතුබ් හඳුන්වන දේ භාවිතා කළ යුතුය. ඇත්ත වශයෙන්ම ඔබ සැමවිටම එකක් භාවිතා කළ යුතුය, මුරපදයක් මෙන් නොව ඔබට එය ලබා දෙන ප්‍රවේශය පාලනය කළ හැකිය. යූආර්එල් හි මුරපදය ප්‍රතිස්ථාපනය කරන්න එවිට ඔබ අවසන් වනු ඇත https://username:PERSONAL_ACCESS_TOKEN@github.com/username/project.git. එමඟින් තැටියේ ගබඩා කර ඇති සරල පෙළ මුරපද භාවිතා කිරීමට තරම් ආරක්ෂිත වේ.
රසල් ස්ටුවර්ට්

12
git config --global credential.helper cache: කවුළු මත වැඩ කරන්නේ නැහැ stackoverflow.com/questions/11693074/... භාවිතය gitcredentialstore වින්ඩෝස් මත සතුටින්
සෙබස්තියන් ජේ

8
මෙම කාලය කල් ඉකුත්වීම අනන්තයට සැකසීමට ක්‍රමයක් තිබේද?
sudo

720

පහත සඳහන් දෑ භාවිතා කර ඔබගේ අක්තපත්‍ර ස්ථිරවම Git ගබඩාවට තබා ගත හැකිය:

git config credential.helper store

සටහන: මෙය පහසු වුවත්, ඔබේ ව්‍යාපෘති නාමාවලිය යටතේ දේශීය ලිපිගොනුවක (.git- අක්තපත්‍ර) Git විසින් ඔබේ අක්තපත්‍ර පැහැදිලි පා in යක් තුළ ගබඩා කරනු ඇත ("නිවාස" නාමාවලිය සඳහා පහත බලන්න). ඔබ මෙය අකමැති නම්, මෙම ගොනුව මකා දමා හැඹිලි විකල්පය භාවිතා කිරීමට මාරු වන්න.

දුරස්ථ ගබඩාවට සම්බන්ධ වීමට අවශ්‍ය සෑම අවස්ථාවකම Git ඔබෙන් අක්තපත්‍ර ඉල්ලීම නැවත ආරම්භ කිරීමට අවශ්‍ය නම්, ඔබට මෙම විධානය ක්‍රියාත්මක කළ හැකිය:

git config --unset credential.helper

ව්‍යාපෘති නාමාවලියට පටහැනිව මුරපද .git-credentialsඔබේ %HOME%නාමාවලියෙහි ගබඩා කිරීමට : --globalධජය භාවිතා කරන්න

git config --global credential.helper store

7
වින්ඩෝස් හි, ඔබට ඔබගේ ජීඅයිටී මුරපදයේ සංකේතාත්මක අනුවාදයක් වින්ඩෝස් ක්‍රෙඩිටල් වෙළඳසැලේ ගබඩා කිරීම සඳහා උපකාරක උපයෝගීතාවයක් බාගත කළ හැකිය, confluence.atlassian.com/display/STASH/…
Contango

76
මට --global නියම කළ යුතු බව හෝ එය වර්තමාන ගබඩාවේ සැකසුම් ගබඩා කිරීමට උත්සාහ කරන බව මට පෙනී ගියේය:git config --global credential.helper store
බ්‍රයන් ගෝර්ඩන්

6
ස්ථිරවම ගබඩා කිරීම වෙනුවට හැඹිලිය කරන්නේ ඇයි? පරිගණක හෝ වෙනත් දේ බෙදා ගැනීම?
මයිකල් ජේ. කැල්කින්ස්

2
Rian බ්‍රයන්ගෝර්ඩන් මම වින්ඩෝස් හි GIT 1.9.5 භාවිතා කරන අතර --globalධජය අතිරික්ත විය. මෙම ධජය නොමැතිව වුවද, අක්තපත්‍ර ගොනුව %USER_HOME%ඩිරෙක්ටරියේ නිර්මාණය කරන ලදි .
jFrenetic

2
සරල පෙළෙහි ගබඩා නොකරන්නේ නම්, එය ආරක්ෂා කරන්නේ කුමක් ද? ඔබේ මුරපදය? එවිට ඔබ git සමඟ සම්බන්ධ වන විට ඔබගේ පරිපාලක මුරපදය ඉල්ලා සිටිය යුතු නොවේද? වෙනත් මුරපදයක් ලබා ගැනීම සඳහා මුරපදයක් ඇතුළත් කිරීම ටිකක් අමුතු දෙයක් නොවේද?
ක්‍රන්චර්

102

ටීඑල්ඩීආර්; Git 1.8.3+ සමඟ සංකේතාත්මක netrc ගොනුවක් භාවිතා කරන්න .

Git ගබඩාවක් සඳහා මුරපදයක් සුරැකීම HTTPS URL වින්ඩෝස් හි ~/.netrc(යුනික්ස්) හෝ %HOME%/_netrc(සටහන් කරන්න _) සමඟ කළ හැකිය.

නමුත් : එම ගොනුව ඔබගේ මුරපදය සරල පෙළෙහි ගබඩා කරයි.

විසඳුම : එම ගොනුව GPG (GNU රහස්යතා ආරක්ෂකයා) සමඟ සංකේතනය කරන්න , සහ මුරපදයක් අවශ්ය සෑම අවස්ථාවකම Git එය විකේතනය කරන්න ( push/ pull/ fetch/ cloneක්රියාත්මක කිරීම සඳහා).


සටහන: Git 2.18 (Q2 2018) සමඟ, ඔබට දැන් සංකේතාත්මක .netrcගොනුව විකේතනය කිරීමට භාවිතා කරන GPG රිසිකරණය කළ හැකිය .

බලන්න 786ef50 , commit f07eeed (12 මැයි 2018) ලුයිස් මාර්සානෝ (``) .
(ඒකාබද්ධ කරන ලද්දේ ජූනියෝ සී හමානෝ - gitster- in commit 017b7c5 , 30 මැයි 2018)

git-credential-netrc: පිළිගැනීමේ gpgවිකල්පය

git-credential-netrcgpggpg.program විකල්පය නොසලකා ' ' සමඟ විකේතනය කිරීමට දෘ c කේත කර ඇත.
මෙය නූතන GnuPG ලෙස හඳුන්වන ඩේබියන් වැනි බෙදාහැරීම්වල ගැටළුවක් වන අතර එය ' gpg2'


වින්ඩෝස් සඳහා පියවරෙන් පියවර උපදෙස්

වින්ඩෝස් සමඟ:

(Git gpg.exeඑහි ව්‍යාප්තියේ ඇත, නමුත් සම්පූර්ණ GPG ස්ථාපනය භාවිතා කිරීම a ඇතුළත් වන අතර gpg-agent.exeඑමඟින් ඔබගේ GPG යතුර හා සම්බන්ධ මුරපදය කටපාඩම් වනු ඇත.)

  • ස්ථාපනය කරන්න gpg4Win Lite, අවම gnupg විධාන රේඛා අතුරුමුහුණත ( වඩාත්මgpg4win-vanilla-2.X.Y-betaZZ.exe නවීනතම දේ ගන්න ), සහ GPG ස්ථාපන නාමාවලිය සමඟ ඔබේ PATH සම්පූර්ණ කරන්න:

    set PATH=%PATH%:C:\path\to\gpg
    copy C:\path\to\gpg\gpg2.exe C:\path\to\gpg\gpg.exe

(' copy' විධානය සැලකිල්ලට ගන්න : ' ' විධානය ක්‍රියාත්මක කිරීමට Git හට Bash ස්ක්‍රිප්ට් එකක් අවශ්‍ය gpgවේ. gpg4win-vanilla-2එන බැවින් gpg2.exe, ඔබ එය අනුපිටපත් කළ යුතුය.)

  • GPG යතුරක් සාදන්න හෝ ආනයනය කරන්න, එය විශ්වාස කරන්න:

    gpgp --import aKey
    # or
    gpg --gen-key

(එම යතුරට මුරපදයක් දැමීමට වග බලා ගන්න.)

  • එම යතුර විශ්වාස කරන්න

  • ඔබ තුළ ඇති නාමාවලියක අක්තපත්‍ර උපකාරක පිටපත ස්ථාපනය කරන්න %PATH%:

    cd c:\a\fodler\in\your\path
    curl -o c:\prgs\bin\git-credential-netrc https://raw.githubusercontent.com/git/git/master/contrib/credential/netrc/git-credential-netrc.perl

(පරෙස්සම් වන්න: පිටපත Git 2.25.x / 2.26 හි නම් කර ඇත, පහත බලන්න)

(ඔව්, මෙය බාෂ් ස්ක්‍රිප්ටයකි, නමුත් එය වින්ඩෝස් මත ක්‍රියා කරනු ඇත, මන්ද එය Git විසින් හඳුන්වනු ඇත.)

  • පැහැදිලි පෙළකින් _netrc ගොනුවක් සාදන්න

    machine a_server.corp.com
    login a_login
    password a_password
    protocol https
    
    machine a_server2.corp.com
    login a_login2
    password a_password2
    protocol https

(ඔබ භාවිතා කරන URL එක අනුව ' protocol' කොටස: ' http' හෝ ' https' අමතක නොකරන්න .)

  • එම ගොනුව සංකේතනය කරන්න:

    gpg -e -r a_recipient _netrc

(ඔබ දැන් හැකි මකා ඇති _netrcඑකම තබා, ගොනු _netrc.gpgසංකේතනය එකක්.)

  • සංකේතාත්මක ගොනුව භාවිතා කරන්න:

    git config --local credential.helper "netrc -f C:/path/to/_netrc.gpg -v"

(' /' සටහන :C:\path\to... කිසිසේත් ක්‍රියා නොකරනු ඇත.) ( -v -dසිදුවන්නේ කුමක්දැයි බැලීමට ඔබට මුලින් භාවිතා කළ හැකිය .)

මෙතැන් සිට, සත්‍යාපනය අවශ්‍ය වන HTTP (S) URL භාවිතා කරන ඕනෑම Git විධානයක් එම _netrc.gpgගොනුව විකේතනය කර ඔබ සම්බන්ධ කර ගන්නා සේවාදායකයට සම්බන්ධ වූ පිවිසුම් / මුරපදය භාවිතා කරයි. පළමු වරට, ගොනුව විකේතනය කිරීම සඳහා GPG ඔබගේ GPG යතුරේ මුරපදය ඔබෙන් අසනු ඇත. අනෙක් අවස්ථාවලදී, gpg-agent පළමු GPG ඇමතුම මඟින් ස්වයංක්‍රීයව දියත් කරන ලද ඔබට එම මුරපදය ලබා දෙනු ඇත.

එමගින්, ඔබට එක් ගොනුවක URL / පිවිසුම් / මුරපද කිහිපයක් කටපාඩම් කරගත හැකි අතර එය ඔබේ තැටියේ සංකේතනය කර ඇත.
"හැඹිලි" සහායකයෙකුට වඩා එය පහසු බව මට පෙනේ, එහිදී ඔබ මතක තබා ගත යුතු අතර (එක් සැසියකට වරක්) ඔබේ එක් එක් දුරස්ථ සේවාවන් සඳහා වෙනස් මුරපදයක් ටයිප් කරන්න, මන්ද එම මුරපදය මතකයේ රඳවා තබා ගත යුතුය.


Git 2.26 (Q1 2020) සමඟ, භාවිතා කිරීම සඳහා නියැදි අක්තපත්‍ර සහායකයා .netrcකොටුවෙන් පිටත වැඩ කිරීමට යාවත්කාලීන කර ඇත. පැච් / සාකච්ඡාව බලන්න .

ඩෙන්ටන් ලියු ( ) විසින් බැඳීම 6579d93 බලන්න , 1c78c78 (2019 දෙසැම්බර් 20 ) බලන්න . (විසින් අලුතින් ඒකාබද්ධ ජූනි සී Hamano - - දී 1fd27f8 සිදු , 25 දෙසැම්බර් 2019)Denton-L
gitster

contrib/credential/netrc: සාදන්න PERL_PATH වින්‍යාසගත කරන්න

අත්සන් කළේ: ඩෙන්ටන් ලියු

පර්ල් පරිවර්තකයා සඳහා ෂෙබාං මාර්ගය git-credential-netrcදෘඩ කේත කර ඇත.
කෙසේ වෙතත්, සමහර පරිශීලකයින්ට එය වෙනත් ස්ථානයක පිහිටා ඇති අතර එමඟින් ස්ක්‍රිප්ට් අතින් සංස්කරණය කිරීමට සිදුවනු ඇත.

.perlස්ක්‍රිප්ටයට අච්චුවක් ලෙස දැක්වීමට උපසර්ගයක් එක් කර ජනනය කළ අනුවාදය නොසලකා හරින්න.
ගුණාත්මකභාවය වර්ධනය කිරීම මෙම Makefileඑය ජනනය වන පරිදි git-credential-netrcසිට git-credential-netrc.perlපමණක් වෙනත් perl බසට ලං පිටපත් වගේ.

මේක්ෆයිල් වට්ටෝරු නිර්ලජ්ජිතව සොරකම් කරන ලදී contrib/mw-to-git/Makefile.

සහ:

2.26 (Q1 2020) සමඟ .netrc භාවිතා කිරීම සඳහා නියැදි අක්තපත්‍ර සහායකයා කොටුවෙන් පිටත වැඩ කිරීමට යාවත්කාලීන කර ඇත.

ඩෙන්ටන් ලියු ( ) විසින් බැඳීම 6579d93 බලන්න , 1c78c78 (2019 දෙසැම්බර් 20 ) බලන්න . (විසින් අලුතින් ඒකාබද්ධ ජූනි සී Hamano - - දී 1fd27f8 සිදු , 25 දෙසැම්බර් 2019)Denton-L
gitster

contrib/credential/netrc: repo එකකින් පිටත වැඩ කරන්න

අත්සන් කළේ: ඩෙන්ටන් ලියු

දැනට, git-credential-netrcgit නිධියකින් පිටත ක්‍රියා නොකරයි. එය පහත දෝෂය සමඟ අසමත් වේ:

fatal: Not a git repository: . at /usr/share/perl5/Git.pm line 214.

නිධියක් තුළ සිටිය යුතු බවට සැබෑ හේතුවක් නැත. අක්තපත්‍ර සහායකයින්ට ගබඩාවෙන් පිටත ද හොඳින් වැඩ කිරීමට හැකි විය යුතුය.

වන ස්වයං නොවන අනුවාදය අමතන්න config()එසේ git-credential-netrcනිධිය තුළ ක්රියාත්මක කළ යුතු තවදුරටත් අවශ්යතා.

ජෙෆ් කිං ( peff) එකතු කරයි:

මම හිතන්නේ ඔබ භාවිතා කරන්නේ gpg- සංකේතාත්මක netrc(එසේ නොවේ නම්, ඔබ බොහෝ විට භාවිතා කළ යුතුය credential-store).
"කියවීමට-පමණක්" මුරපද ප්‍රවේශය සඳහා, passවින්‍යාසය සමඟ සංයෝජනය ටිකක් හොඳ බව මට පෙනේ :

[credential "https://github.com"]
  username = peff
  helper = "!f() { test $1 = get && echo password=`pass github/oauth`; }; f"

1
ලිනක්ස් මත එකම දේ උත්සාහ කිරීම .. git config --local credential.helper "netrc -f /home/me/.netrc.gpg -v -d" ..ඒ වගේම මට ලැබෙන්නේ "git: 'credential-netrc' a නොවේ git විධානය. 'git --help' බලන්න
හිරු

4
unSunny යනු එයයි curl -o c:\prgs\bin\git-credential-netrc https://raw.github.com/git/git/master/contrib/credential/netrc/git-credential-netrc: git ඇමතීමට හැකිවන පරිදි git-credential-netrcඔබේ මාර්ගයේ ( $PATH) ඕනෑම තැනක පිටපත් කළ යුතුය credential-netrc.
VonC

හොඳයි, පරිගණකයේ _netrcමා වෙනුවෙන් වැඩ කළේ නැත Windows 7, නමුත් යූ ටියුබ්-ඩීඑල්.netrc සඳහා වැඩ කළේ එයට තර්කය ඉදිරිපත් කිරීමෙනි--netrc .
ඉලියන් ඔනොෆ්රි

@VonC වත්මන් URL එක කර ඇති බව පෙනේ https://raw.githubusercontent.com/git/git/master/contrib/credential/netrc/git-credential-netrc.perl(පසුව වසර හත තුල දී ගිනි අඟුරුවල 😉)
Gwyneth Llewelyn

1
@GwynethLlewelyn ස්තූතියි. මම ඒ අනුව පිළිතුර සංස්කරණය කර ඇත්තෙමි. යල්පැනගිය වෙනත් තොරතුරු ඔබ දුටුවහොත් එය ඔබම සංස්කරණය කිරීමට පසුබට නොවන්න.
VonC

44

අක්තපත්‍ර ගබඩාවක් භාවිතා කරන්න.

OS X සහ Linux හි Git 2.11+ සඳහා , අක්තපත්‍ර ගබඩාවේ ගොඩනගා ඇති Git භාවිතා කරන්න :

git config --global credential.helper libsecret

වින්ඩෝස් හි msysgit 1.7.9+ සඳහා :

git config --global credential.helper wincred

OS X භාවිතය මත Git 1.7.9+ සඳහා:

git config --global credential.helper osxkeychain

2
මෙය යා යුතු මාර්ගය බව මට විශ්වාසයි, නමුත් මට දෝෂයක් git: 'credential-gnome-keyring' is not a git command. See 'git --help'.
ඇතිවීම

1
ස්තූතියි, නමුත් මට කෙසේ හෝ එකම දෝෂයක් ඇතිවිය. මම වැරදි දෙයක් කරනවාද? මම විධානය ටයිප් කළත් කිසිවක් සිදු නොවේ. මම තල්ලු කළ විගසම, මම සාර්ථකව ඇතුළු කරන අක්තපත්‍ර ඉල්ලා සිටිමි, නමුත් දෝෂය මට දැනේ, එය කිරීමෙන් පසු එය git විධානයක් නොවන බව.
codepleb

2
Libsecret ලිනක්ස් මත වැඩ කිරීමට පෙර, ඔබ මෙම පියවරයන් කළ යුතුය: stackoverflow.com/a/40312117/775800
Lavamantis

1
තවත් දෙයක් - ඔබ ගිතුබ් හි 2FA සක්‍රීය කර ඇත්නම්, ඔබගේ මුරපදය ක්‍රියා නොකරනු ඇත. නමුත් ඔබට ඔබගේ ගිතුබ් "සැකසීම්" පිටුවේ පුද්ගලික ප්‍රවේශ ටෝකනයක් සෑදිය හැකි අතර එම ටෝකනය ඔබගේ මුරපදය ලෙස ක්‍රියා කරයි. github.com/github/hub/issues/822
Lavamantis

3
ආරක්ෂක ගැටළුව: වින්ඩෝස් අක්තපත්‍ර කළමණාකරු ඔබගේ සරල මුරපදය ඔබගේ වින්ඩෝස් ගිණුමට පුරනය වී ඇති ඕනෑම කෙනෙකුට ප්‍රවේශ කළ හැකිය. ඔවුන් කළ යුත්තේ අක්තපත්‍ර කළමණාකරු වෙත ඉල්ලීමක් යැවීම පමණි printf "protocol=https\nhost=git.mycompany.com\n" | git credential-manager get( වැඩි විස්තර මෙතැනින් ). ඔබ සැමවිටම මෙය සමඟ පුද්ගලික ප්‍රවේශ ටෝකනයක් භාවිතා කළ යුතු අතර ඇත්ත වශයෙන්ම ඔබේ GitHub ගිණුමේ 2FA භාවිතා කරන්න.
cjs

43

HTTPS URL එකක පරිශීලක අක්තපත්‍ර ගබඩා කිරීමට පහසු, පැරණි තාලයේ ක්‍රමයක් තිබේ:

https://user:password@github.com/...

ඔබට URL එක වෙනස් කළ හැකිය git remote set-url <remote-repo> <URL>

එම ප්‍රවේශයේ ඇති අවාසිය නම් මුරපදය සරල පෙළෙහි ගබඩා කිරීමයි. ඔබට තවමත් පරිශීලක නාමය ඇතුළත් කළ හැකිය ( https://user@github.com/...) අවම වශයෙන් ඔබට කරදරයෙන් අඩක්වත් ඉතිරි වේ.

ඔබ SSH වෙත මාරු වීමට හෝ GitHub ග්‍රාහක මෘදුකාංගය භාවිතා කිරීමට කැමති විය හැකිය.


2
පරිශීලක නාමය / මුරපදය කේතනය කිරීමට අවශ්‍ය විය හැකිය, stackoverflow.com/a/34611311/3906760
MrTux

40

ඔබට භාවිතා කළ හැකිය

git config credential.helper store

ඔබ ඊළඟ වතාවේ මුරපදය අදින්න හෝ තල්ලු කිරීම සමඟ ඇතුළත් කළ විට, එය .git- අක්තපත්‍ර සරල පෙළ ලෙස ගබඩා කරනු ඇත (ටිකක් අනාරක්ෂිත නමුත් එය ආරක්ෂිත ෆෝල්ඩරයකට දමන්න).

මෙම පිටුවේ සඳහන් පරිදි එය එයයි:

git-credential-store


3
වින්ඩෝස් 2.7.3 සඳහා Git සඳහා (2016 මාර්තු): github.com/git-for-windows/git/releases?after=v2.8.4.windows.1 , ඒ git config credential.helper managerවෙනුවට වනු ඇත
VonC

23

මට මුලින්ම සහායකයා බාගත කළ යුතු බව මට එකවරම පැහැදිලි නොවීය! ඇට්ලේෂියන් හි ක්‍රෙඩෙන්ෂල්.හෙල්පර් බාගත කිරීම Git නිධිය සමඟ ස්ථිරවම සත්‍යාපනය කරන බව මට පෙනී ගියේය.

උපුටා ගැනීම:

OS X හි අක්තපත්‍ර හැඹිලි සහිත Git භාවිතා කිරීමට ඔබට අවශ්‍ය නම් මෙම පියවර අනුගමනය කරන්න:

ද්විමය git-credential-osxkeychain බාගන්න.

ද්විමය ක්‍රියාත්මක කළ හැකි බව සහතික කිරීම සඳහා පහත විධානය ක්‍රියාත්මක කරන්න:

chmod a+x git-credential-osxkeychain

එය නාමාවලියෙහි තබන්න /usr/local/bin.

පහත විධානය ක්‍රියාත්මක කරන්න:

git config --global credential.helper osxkeychain

23

URL හි කොටසක් ලෙස පිවිසුම් අක්තපත්‍ර ඇතුළත් කරන්න:

git remote rm origin
git remote add origin https://username:mypassword@github.com/path/to/repo.git

සටහන: මම මෙම ක්‍රමය නිර්දේශ නොකරමි, නමුත් ඔබ කඩිමුඩියේ හා වෙනත් කිසිවක් ක්‍රියාත්මක නොවන්නේ නම්, ඔබට මෙම ක්‍රමය භාවිතා කළ හැකිය.


12
ඔබගේ විද්‍යුත් තැපැල් හැඳුනුම්පතේ% 40 ක් සමඟින් ඔබ පැන යා යුතුය
තාරුන් ගුප්තා

අපට ඊමේල් හැඳුනුම්පතේ '+' තිබේ නම් කුමක් කළ යුතුද? මම එකම ගැලවීමට උත්සාහ කළ නමුත් තල්ලුව පැවසුවේ '
රෙපෝ

4
+ වෙනුවට% 2B ඇත
තාරුන් ගුප්තා

මුරපදය සරල පෙළෙහි ගබඩා කිරීම සහ පහසුවෙන් ප්‍රවේශ විය හැකි එකක් ප්‍රශස්ත විසඳුම නොවිය හැකිය.
ක්‍රියාකාරකම් අඩු කිරීම

20

GNU / Linux සැකසුමකදී ~ / .netrc ද හොඳින් ක්‍රියා කරයි:

$ cat ~/.netrc
machine github.com login lot105 password howsyafather

එය HTTPS ප්‍රවාහනය සඳහා Git භාවිතා කරන්නේ කුමන ජාල පුස්තකාල මතද යන්න රඳා පවතී .


4
එසේම කිරීමට වග බලා ගන්න chmod 0600 ~/.netrc.
පූලි

උබුන්ටු නෙට්ර්ක් මෑන්පේජ් වෙත සබැඳියක් තැබීමට අවශ්‍යය . මට එය වෙනත් පරිශීලකයෙකු සඳහා නිර්මාණය කිරීමට අවශ්‍ය විය (/home/git/.netrc) ඉන්පසු එම පරිශීලකයාට හිමිකාරිත්වය වෙනස් කරන්න.
zacharydl

17

වින්ඩෝස් සඳහා ඔබට Git අක්තපත්‍ර කළමනාකරු (GCM) ප්ලගිනය භාවිතා කළ හැකිය . එය දැනට මයික්‍රොසොෆ්ට් විසින් නඩත්තු කරනු ලැබේ. හොඳ දෙය නම් එය මුරපදය වින්ඩෝස් අක්තපත්‍ර ගබඩාවේ සුරකිනවා මිස සරල පෙළක් නොවේ.

ව්යාපෘතියේ මුදා හැරීම් පිටුවේ ස්ථාපකයක් ඇත . මෙය වින්ඩෝස් සඳහා වන Git හි නිල අනුවාදය අක්තපත්‍ර කළමණාකරු සමඟ ස්ථාපනය කරනු ඇත . එය සාධක දෙකක සත්‍යාපනය සඳහා ඉඩ දෙයි GitHub (සහ වෙනත් සේවාදායකයන්) සඳහා . මුලින් පුරනය වීම සඳහා චිත්‍රක අතුරු මුහුණතක් ඇත.

සිග්වින් භාවිතා කරන්නන් සඳහා (හෝ දැනටමත් වින්ඩෝස් සඳහා නිල Git භාවිතා කරන පරිශීලකයින්), ඔබ අතින් ස්ථාපනය කිරීමට කැමති විය හැකිය. නිකුතු පිටුවෙන් zip පැකේජය බාගන්න . පැකේජය නිස්සාරණය කර install.cmdගොනුව ධාවනය කරන්න. මෙය ඔබගේ ~/binෆෝල්ඩරයට ස්ථාපනය වේ . (ඔබේ ~/binනාමාවලිය ඔබගේ PATH හි ඇති බවට වග බලා ගන්න .) ඔබ මෙම විධානය භාවිතා කර එය වින්‍යාස කරයි:

git config --global credential.helper manager

git-credential-manager.exeඕනෑම සේවාදායකයකට සත්‍යාපනය කිරීමේදී Git ක්‍රියාත්මක වේ.


3
ඔබගේ ගිණුමට ලොග් වී ඇති ඕනෑම කෙනෙකුට මුරපදයේ සාමාන්‍ය පෙළට පහසුවෙන් ප්‍රවේශ විය හැකිය. ඔවුන් කළ යුත්තේ අක්තපත්‍ර කළමණාකරු වෙත ඉල්ලීමක් යැවීම පමණි printf "protocol=https\nhost=git.mycompany.com\n" | git credential-manager get( වැඩි විස්තර මෙතැනින් ). ඔබ සැමවිටම මෙය සමඟ පුද්ගලික ප්‍රවේශ ටෝකනයක් භාවිතා කළ යුතු අතර ඇත්ත වශයෙන්ම ඔබේ GitHub ගිණුමේ 2FA භාවිතා කරන්න.
cjs

13

මාර්ක් පැවසූ පරිදි ඔබේ මුරපදය සාමාන්‍ය පෙළෙහි ගබඩා කිරීමට ඔබට අවශ්‍ය නැතිනම්, ඔබ තල්ලු කිරීමට වඩා ලබා ගැනීම සඳහා වෙනත් GitHub URL එකක් භාවිතා කළ හැකිය. ඔබගේ වින්‍යාස ගොනුවේ, යටතේ [remote "origin"]:

url = git://github.com/you/projectName.git
pushurl = git@github.com:you/projectName.git

ඔබ තල්ලු කරන විට එය තවමත් මුරපදයක් ඉල්ලනු ඇත, නමුත් ඔබ ලබා ගන්නා විට නොව, අවම වශයෙන් විවෘත මූලාශ්‍ර ව්‍යාපෘති සඳහා.


13

OAuth

ඔබට ඔබේම පුද්ගලික API ටෝකනයක් ( OAuth ) නිර්මාණය කළ හැකි අතර ඔබේ සාමාන්‍ය අක්තපත්‍ර භාවිතා කරන ආකාරයටම එය භාවිතා කළ හැකිය (at :) /settings/tokens. උදාහරණයක් වශයෙන්:

git remote add fork https://4UTHT0KEN@github.com/foo/bar
git push fork

.netrc

තවත් ක්‍රමයක් නම් ~/.netrc( _netrcවින්ඩෝස් හි) ඔබේ පරිශීලක / මුරපදය වින්‍යාස කිරීමයි , උදා

machine github.com
login USERNAME
password PASSWORD

HTTPS සඳහා, අමතර පේළිය එක් කරන්න:

protocol https

විශ්වසනීය සහායකයෙක්

කිරීමට Git ඔබේ GitHub මුරපදය වරුන් HTTPS භාවිතා කරන විට, ඔබ භාවිතා කළ හැකිය වූ අක්තපත්ර සහකාරියක් එය GitHub කිරීමට කතා සෑම අවස්ථාවකදීම ඔබේ GitHub පරිශීලක නාමය හා මුරපදය මතක තබා ගැනීමට Git කියන්න.

  • මැක්: git config --global credential.helper osxkeychain( osxkeychain helperඅවශ්‍යයි),
  • වින්ඩෝස්: git config --global credential.helper wincred
  • ලිනක්ස් සහ වෙනත්: git config --global credential.helper cache

ආශ්‍රිත:


10

ඔබට අක්තපත්‍ර සහායකයින් භාවිතා කළ හැකිය.

git config --global credential.helper 'cache --timeout=x'

xතත්පර ගණන කොහේද ?


7
එය තත්පර ගණනකි ... සමහර බුද්ධිමතුන් එය මිලි තත්පර ලෙස යාවත්කාලීන කළ අතර සෑම කෙනෙක්ම එය පරීක්ෂා නොකර අනුමත කළහ. ඔබ පිළිතුර නොදන්නේ නම් කරුණාකර මිනිසුන් නොමඟ නොයන්න. ස්තූතියි!
චරන්

ඔබ ස්ථානයක් වෙත සබැඳියක් දෙන්න පුළුවන් store, cacheලැයිස්තුගත හා පැහැදිලි කරන අතර, වෙනත් පොදු දේවල්?
නොටින් ලැයිස්තුව

3
පළමුවෙන්ම කළමනාකරු ලෙස 'හැඹිලිය' භාවිතා කිරීමට ඔබ වෙනත් නිශ්චිත විධානයක් කැඳවූයේ නැත්නම් මෙය ජැක් ජරාව බව සඳහන් කිරීමට සැලකිලිමත්ද? මෙම දේවල් ඉතා ගුප්ත ය, මෙම පිළිතුරු සියල්ලම අසම්පූර්ණ වන අතර ඒවා කිසිවක් ක්‍රියාත්මක නොවේ. ඇදහිය නොහැකි තරම් කලකිරීමට පත්වේ. ඒ වෙනුවට මෙය බලන්න: stackoverflow.com/a/24800870/88409
Triynko

10

ඔබ නිධිය ක්ලෝන කිරීමෙන් පසුව repo, ඔබට repo/.git/configපහත පරිදි යම් වින්‍යාසයක් සංස්කරණය කර එකතු කළ හැකිය :

[user]
    name = you_name
    password = you_password
[credential]
    helper = store

එවිට ඔබ ඉල්ලා කළ නොහැකි වනු ඇත usernameහා passwordනැවත.


මා සමඟ වැඩ කරයි helper = manager(නමුත් පළමු තල්ලුව සඳහා පරිශීලක නාමය + repo ඉල්ලා සිටිමි).
ස්ටෙෆාන් ලෝරන්ට්

helper = manager සමඟ මට දෝෂයක් ලැබෙමින් පවතී අක්තපත්‍ර-කළමනාකරු යනු git විධානයක් නොවේ
කපිල්

අවාසනාවට, වින්‍යාස ගොනුවේ මුරපදය git නොසලකා හැරේ. credential.store සහිත .git_credentials එකම විකල්පයයි.
අවාමන්ඩර්

9

මෙය ආරක්ෂිත විසඳුමක් නොවන බව මම දනිමි, නමුත් සමහර විට ඔබට සරල විසඳුමක් අවශ්‍ය වේ - වෙනත් කිසිවක් ස්ථාපනය නොකර. සහ උදව්කරු = ගබඩාව බැවින් මට වැඩ කටයුතු කළේ නැත, මම ආදර්ශ සහකාරියක් නිර්මාණය:

ස්ක්‍රිප්ට් එකක් සාදා එය ඔබේ පරිශීලක බින් ෆෝල්ඩරයට දමන්න , මෙහි ක්‍රෙඩ්ෆේක් ලෙස නම් කර ඇත , මෙම ස්ක්‍රිප්ට් මඟින් ඔබේ පරිශීලක නාමය සහ මුරපදය ලබා දෙනු ඇත:

#!/bin/bash
while read line
do
  echo "$line"
done < "/dev/stdin"
echo username=mahuser
echo password=MahSecret12345

එය ක්‍රියාත්මක කළ හැකි කරන්න:

chmod u+x /home/mahuser/bin/credfake

ඉන්පසු එය git වලින් වින්‍යාස කරන්න:

git config --global credential.helper /home/mahuser/bin/credfake

(හෝ එක් repo සඳහා පමණක් --global නොමැතිව භාවිතා කරන්න)

සහ - voilá - git විසින් මෙම පරිශීලක + මුරපදය භාවිතා කරනු ඇත.


මම එකඟයි. ඇත්තෙන්ම සරල (අනාරක්ෂිත නම්) විසඳුම. +1, ඔබ කරන්නේ කුමක්දැයි ඔබ දන්නා තාක් කල්.
VonC

7

ගිණුමේ මුරපදය වෙනුවට සත්‍යාපන ටෝකනයක් භාවිතා කළ යුතුය. GitHub සැකසුම් / යෙදුම් වෙත ගොස් පුද්ගලික ප්‍රවේශ ටෝකනයක් සාදන්න. මුරපදයක් භාවිතා කරන ආකාරයටම ටෝකනය භාවිතා කළ හැකිය.

ටෝකනය අදහස් කරන්නේ ව්‍යාපෘති කටයුතු සඳහා පරිශීලකයින්ට ගිණුම් මුරපදය භාවිතා නොකිරීමට ඉඩ දීමයි. නව ටෝකන සෑදීම හෝ පැරණි ටෝකන අවලංගු කිරීම වැනි පරිපාලන කටයුතු කරන විට පමණක් මුරපදය භාවිතා කරන්න.


පරිශීලකයාට GitHub ගිණුමකට සම්පූර්ණ ප්‍රවේශය ලබා දෙන ටෝකනයක් හෝ මුරපදයක් වෙනුවට, එක් ව්‍යාපෘති නිධියකට ප්‍රවේශය ලබා දීම සඳහා ව්‍යාපෘති විශේෂිත යෙදවීමේ යතුරක් භාවිතා කළ හැකිය. ඔබගේ සාමාන්‍ය අක්තපත්‍ර සමඟ වෙනත් Git ගිණුම් හෝ ව්‍යාපෘති වෙත ප්‍රවේශ විය හැකි විට පහත දැක්වෙන පියවර වලදී මෙම වෙනස් යතුර භාවිතා කිරීමට Git ව්‍යාපෘතියක් වින්‍යාසගත කළ හැකිය:

  1. අන්තර්ගත වේ බව SSH මානකරන ගොනුව ලියන්න Host, IdentityFileඒ සඳහා යොදවා යතුර, සමහරවිට UserKnownHostsFile, සහ සමහරවිට User(මම ඔබට එය අවශ්ය නැහැ හිතන්නේ නමුත්).
  2. SSH එතුම ෂෙල් ස්ක්‍රිප්ට් එකක් ලියන්න ssh -F /path/to/your/config $*
  3. Prepend GIT_SSH=/path/to/your/wrapperඔබගේ සාමාන්ය Git විධානය ඉදිරිපිට උද්ඝෝෂණයක් සංවිධානය කර තිබුණි. මෙහිදී git remote(සම්භවය) git@github.com:user/project.gitආකෘතිය භාවිතා කළ යුතුය .

7

ආරක්ෂාව සඳහා අක්තපත්‍ර භාවිතා කිරීම වඩා හොඳය, නමුත් ඔබට එය හැඹිලිය භාවිතා කර යම් කාලයක් තබා ගත හැකිය:

git config --global credential.helper cache
git config credential.helper 'cache --timeout=3600'

ඔබගේ අක්තපත්‍ර තත්පර 3600 ක් සුරකිනු ඇත.


ඒ කියන්නේ තත්පර 3600 කට පසුව, අපට නැවත මුරපදය ඇතුළත් කළ යුතුද ??? ඒවා ස්ථිරවම සුරැකෙන්නේ කෙසේද?
HoangVu

$ git config credential.helper 'cache --timeout = 3600' දෝෂය: වින්‍යාස ගොනුව අගුළු දැමිය නොහැක .git / config: එවැනි ගොනුවක් හෝ නාමාවලියක් නොමැත
PlantationGator

මෙය ක්‍රියාත්මක විය: git config --global credential.helper 'cache --timeout = 3600'
PlantationGator

Ama ටමා මම දන්නවා දැන් අවුරුදු තුනක් ගත වී ඇති නමුත් ඔබට ඉවත්ව යා හැකි --timeoutඅතර අක්තපත්‍ර සදහටම ගබඩා වනු ඇත.
නීල් චෞද්රි

මෙය ඩොකර් බහාලුමක් තුළ (පදනම් කරගෙන windowsservercore) ක්‍රියාත්මක වේද?
පීටර් මෝර්ටෙන්සන්

5

ඔබ මා මෙන් සාධක දෙකක සත්‍යාපනය භාවිතා කරන්නේ නම් දේවල් ටිකක් වෙනස් වේ. මට වෙනත් තැනක හොඳ පිළිතුරක් සොයාගත නොහැකි වූ නිසා, පසුව එකක් සොයා ගැනීමට හැකි වන පරිදි මම මෙහි එකක් ඇලවීමි.

ඔබ සාධක දෙකක සත්‍යාපනය භාවිතා කරන්නේ නම්, පරිශීලක නාමය / මුරපදය සඳහන් කිරීම පවා ක්‍රියා නොකරනු ඇත - ඔබට ප්‍රවේශය ප්‍රතික්ෂේප වේ. නමුත් ඔබට යෙදුම් ප්‍රවේශ ටෝකනයක් භාවිතා කළ හැකි අතර එය ඔබ වෙනුවෙන් හැඹිලි කිරීමට Git හි අක්තපත්‍ර සහායක භාවිතා කරන්න. අදාළ සබැඳි මෙන්න:

මම මෙය දුටුවේ කොහේදැයි මට මතක නැත, නමුත් ඔබ ඔබේ පරිශීලක නාමය ඉල්ලූ විට - ඔබ යෙදුම් ප්‍රවේශ ටෝකනය ඇලවූ ස්ථානය එයයි. ඉන්පසු මුරපදය හිස්ව තබන්න. එය මගේ මැක් මත වැඩ කළා.


ද්වි මාර්ග සත්‍යාපනය භාවිතා කරන විට, ඔබ මුරපදය ලෙස "ප්‍රවේශ ටෝකනය" භාවිතා කරයි. පරිශීලක නාමය සැමවිටම පවතින ආකාරයටම පවතී
බෙන් යිට්ෂකි

4

මෙය මට වැඩ කරයි මම වින්ඩෝස් 10 භාවිතා කරමි

git config --global credential.helper wincred

4

සාමාන්‍යයෙන් ඔබට දුරස්ථ URL එකක් ඇත, මේ වගේ දෙයක්,

git remote -v

origin    https://gitlab.com/username/Repo.git (fetch)
origin    https://gitlab.com/username/Repo.git (push)

භාවිතා කිරීමේදී පරිශීලක නාමය සහ මුරපදය මඟ හැරීමට ඔබට අවශ්‍ය නම් git push, මෙය උත්සාහ කරන්න:

 git remote set-url origin https://username:password@gitlab.com/username/Repo.git

මම එකම URL එක (මුරපදය ඇතුළුව පරිශීලක විස්තර සහිතව) ආරම්භයට එක් කර ඇත්තෙමි.

සටහන: පරිශීලක නාමය ඊමේල් හැඳුනුම්පතක් නම් එය ක්‍රියා නොකරයි.

git remote -v

origin    https://username:password@gitlab.com/username/Repo.git (fetch)
origin    https://username:password@gitlab.com/username/Repo.git (push)

3

මට මගේ පිළිතුර ලැබුණේ gitcredentials (7) අත්පොත පිටුවෙන් . මගේ නඩුව සඳහා, මගේ වින්ඩෝස් ස්ථාපනය තුළ අක්තපත්‍ර හැඹිලියක් නොමැත; මම අක්තපත්‍ර ගබඩාව භාවිතා කරමි.

මම අක්තපත්‍ර ගබඩාව භාවිතා කිරීමෙන් පසුව, පරිශීලක නාමය / මුරපදය [පරිශීලක ෆෝල්ඩරය] /. Git-credentials ගොනුවේ ගබඩා කර ඇත. පරිශීලක නාමය / මුරපදය ඉවත් කිරීමට, ගොනුවේ අන්තර්ගතය මකන්න.


2
ඔබේ කවුළුවල අක්තපත්‍ර හැඹිලිය නොමැති විට, git config --global credential.helper wincredමෙම ගබඩාව මුරපදය ස්ථිරවම භාවිතා කිරීමට මම යෝජනා කරමි .
චෙතබාහන

2

නිර්මාපක ලියකියවිලි වල GitHub API භාවිතා කිරීමෙන් ඔබට එය වළක්වා ගත හැකි බව සඳහන් කරයි , එවිට එය ක්‍රියාත්මක වන්නේ git clone:

ඔබ GitHub නිධියකට no-apiයතුර trueසකසන්නේ නම්, එය GitHub API භාවිතා කිරීම වෙනුවට වෙනත් ඕනෑම Git නිධියකට මෙන් නිධිය ක්ලෝන කරනු ඇත. නමුත් gitධාවකය කෙලින්ම භාවිතා කිරීම මෙන් නොව , නිර්මාපකයා තවමත් GitHub හි zip ගොනු භාවිතා කිරීමට උත්සාහ කරයි.

එබැවින් කොටස මේ ආකාරයට වනු ඇත:

"repositories": [
    {
        "type": "vcs",
        "no-api": true,
        "url": "https://github.com/your/repo"
    }
],

ඒපීඅයි එක තිබෙන්නේ හේතුවක් නිසා බව මතක තබා ගන්න. එබැවින් මෙය github.com හි වැඩි බර පැටවීම සම්බන්ධයෙන් අවසාන පියවරක් විය යුතුය.


මෙම පිළිතුරට මුල් ප්‍රශ්නයට කුමක් කළ යුතු දැයි නිශ්චිත නැත.
චාල්ස් ඔපර්මන්

2

ඔබ ද bashrc ගොනුව සංස්කරණය කර එහි පිටපතක් එක් කරන්න.

ඔබ Git ආරම්භ කරන විට මෙය ඔබගේ මුරපදය ඉල්ලා සිටින අතර ඔබ ඉවත් වන තෙක් එය මතක තබා ගනී.

SSH_ENV=$HOME/.ssh/environment
  
# Start the ssh-agent
function start_agent {
    echo "Initializing new SSH agent..."

    # Spawn ssh-agent
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
    /usr/bin/ssh-add
}
  
if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
   ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
      start_agent;
  }
else
    start_agent;
fi

0

ඔබ භාවිතා කරන්නේ නම් osxkeychainසහ ටෝකන කල් ඉකුත් වී එය යාවත්කාලීන කිරීමට අවශ්‍ය නම්, මෙම පියවර අනුගමනය කරන්න:

ටර්මිනලය තුළ ධාවනය කරන්න, ඉන්පසු එන්ටර් දෙවරක් ඔබන්න.

git credential-osxkeychain erase
 host=github.com
 protocol=https

දැන් ඔබ පරිශීලක නාමයක් / මුරපදයක් ඉල්ලා සිටිනු ඇත. කෙසේ වෙතත් සමහර විට මෙය 'නොගන්නා' බවක් පෙනෙන්නට ඇති අතර ඔබ නැවත ඇතුල් විය යුතුය.

එසේ නම්, ඔබේ පරිගණකය නැවත ආරම්භ කරන්න . දැන් ඊළඟ වතාවේ ඔබ git විධානයක් ක්‍රියාත්මක කර ඔබගේ පරිශීලක නාමය / මුරපදය ඇතුළත් කළ විට එය සුරැකෙනු ඇත.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.