මගේ GitHub පරිශීලක නාමය සහ මුරපදය Git මගෙන් ඉල්ලා නොසිටින බව සහතික කරන්නේ කෙසේද?


176

මම GitHub හි repo සමඟ වැඩ කරමින් සිටින අතර සෑම විටම මම යමක් තල්ලු කිරීමට උත්සාහ කරන විට, එය මගේ GitHub පරිශීලක නාමය සහ මුරපදය ඉල්ලයි. මට ඒක කරන්න ඕන නෑ.

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය Git හි සැකසීමට මම උත්සාහ කළෙමි , එනම් Git විචල්‍යයන් github.user සහ github.token සකසන්න, නමුත් එයින් කිසිදු වෙනසක් සිදු නොවීය.

මෙය සිදුවන්නේ ඇයිදැයි මට තේරෙන්නේ නැත.


ඔබට මුරපදය හැඹිලිගත කිරීමට අවශ්‍යය: help.github.com/articles/set-up-git#password-caching
Piotr Usewicz

Answers:


34

ඔබට එක් වරක් පමණක් සත්‍යාපනය කිරීමට අවශ්‍ය ssh- නියෝජිතයෙකු සැකසිය යුතුය. කෙසේ දැයි SO හි මෙම පිළිතුර බලන්න .


1
නමුත් මෙම විසඳුම ssh- පවුලේ වාක්‍ය ඛණ්ඩ සඳහා ය. ගැටළුව වන්නේ git "git push" භාවිතා කරන අතර එය ssh-agent අවුලුවන්නේ නැත, මම සිතමි. (මම දැනටමත් මෙය කර ඇති බැවින් එය ක්‍රියාත්මක නොවන බව මම දනිමි.)
picardo

2
@ පිකාඩෝ: මම මෙය කර ඇත්තෙමි.
ඩෙනයිත්

216

අදත් එවැනිම ගැටලුවක් තිබේ: මම මගේ වැඩ කරන පිටපතෙහි දේවල් අවුල් කළෙමි, එබැවින් නාමාවලිය නැවත නම් කිරීමට සහ මගේ ව්‍යාපෘතිය නැවත ගිතබ් වෙතින් ක්ලෝන කිරීමට මම තීරණය කළෙමි. නමුත් එය සිදු කිරීමෙන් පසු, මුරපදය ඇතුල් කිරීම වෙනුවට මගේ මුරපදය ඇතුළත් කිරීමට සිදු විය.

ඒ, අද මම ව්‍යාපෘතිය ක්ලෝන කිරීමට https ප්‍රොටෝකෝලය භාවිතා කළ බැවිනි! ඔබ භාවිතා කරන්නේ කුමන ප්‍රොටෝකෝලයද යන්න පරීක්ෂා කිරීමට

git config -l

'remote.origin.url' සමඟ ආරම්භ වන රේඛාව දෙස බලන්න.

ප්රොටෝකෝල මාරු කිරීම සඳහා:

git config remote.origin.url git@github.com:the_repository_username/your_project.git

the_repository_usernameහා your_projectසුදුසු නිධියක නමක් සහ එම ගබඩාව හිමිකරු සමඟ ආදේශ කල හැක. ඔබ සතුව නිධිය හෝ නිධිය හිමිකරුගේ පරිශීලක නාමය වෙනත් ආකාරයකින් තිබේ නම් පරිශීලක නාමය ඔබගේ වේ.


5
එය මට වැඩ කළා. එක් දෙයක් නම්, යූආර්එල් හි මගේ පරිශීලක නාමය අඩංගු නොවන නමුත් ගිතුබ් හි පෙනෙන පරිදි රෙපෝ ලිපිනය:git@github.com:some-user/repo-name.git
බී සෙවන්

1
සටහන: ගූගල් මාව මෙහාට ගෙනාවා. මා සතුව remote.origin.urlhttps ක්‍රමයට කට්ටලයක් තිබූ අතර httpsඑදිරිව sshක්‍රම ඇති බව පවා දුටුවේ නැත . මෙම URL එක මට පැහැදිලිව දැක ගැනීමට උදව් විය: help.github.com/articles/…
ක්‍රිස් කේ

මුරපද ඇතුළත් කිරීම ද සම්මත කිරීමට ක්‍රමයක් තිබේද?
zishe

G දැනුම ඇති අය සඳහා Q: git config remote.origin.url ...ඉහත භාවිතා කළ ඒවා අතර කිසියම් වෙනසක් (හෝ මනාපයක්) එදිරිව git remote set-url origin ...?
ඩැරින්

එවැනි වැරදි සම්භවයක් ඉවත් කරන්නේ කෙසේදැයි මට සිතාගත නොහැකි විය. පිළිතුර:git remote rm origin
Vacilando

31

ඔබ SSH වෙනුවට HTTPS භාවිතා කරන්නේ නම්, ඔබට මෙය අනුගමනය කළ හැකිය:

  1. ඔබගේ දුරස්ථ URL (remote.origin.url) සමඟ සොයා ගන්න

    git config -l
    

    සර්ජියෝ මෝර්ස්ටබිලිනිට ස්තූතියි

  2. ඔබගේ දුරස්ථ URL එක මේ වගේ වනු ඇත: https: // {USERNAME @ @ github.com / {USERNAME} / {REPONAME} .git

  3. මෙම විධානය ක්‍රියාත්මක කරන්න:

    git config remote.origin.url https://{USERNAME}:{PASSWORD}@github.com/{USERNAME}/{REPONAME}.git
    

2
මගේ පරිශීලක නාමයේ අඩංගු වේ @, මා වෙනුවෙන් වැඩ කළේ නැත.
coding_idiot

නමුත් එය නොමැති නම් (ඔබට ඔබේ විද්‍යුත් තැපෑල භාවිතා කිරීමට අවශ්‍ය නැත) එය හොඳින් ක්‍රියාත්මක වේ! ස්තූතියි.
කිල්ලා

4
ඔබගේ පරිශීලක නාමයට @ ඇතුළත් නම්, ඔබට එය URL- කේතනය කළ යුතුය. meyerweb.com/eric/tools/dencoder
Tim Bodeit

1
ආරක්ෂක හේතූන් මත ඔබගේ මුරපදය මඟ හැරිය යුතුය.
zygimantus

3
පරෙස්සම් වන්න, මුරපදය .git/configගොනුවේ ඇතුළත සරල පෙළෙහි ගබඩා වේ !
අම්රෝ

28

මම HTTPS භාවිතා කිරීමට කැමැත්තෙමි, ssh යතුරු සැකසීමට වඩා පහසු සහ ආරක්ෂිත බව මට පෙනේ.

HTTPS භාවිතා කරමින්, පහත සඳහන් දෑ සමඟ github දුරස්ථ සඳහා ඔබගේ පරිශීලක නාමය ඉල්ලීම වළක්වා ගත හැකිය:

git config --global url."https://yourusername@github.com".insteadOf "https://github.com"

ඔබට අවම වශයෙන් ඔබගේ මුරපදය ඉල්ලා සිටින සංඛ්‍යාත git අඩු කළ හැකිය:

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

එහිදී 28800 පැය 8 කි. මගේ වැඩ කරන දිනය ආරම්භ කරන විට එක් වරක් පමණක් මගේ මුරපදය ඇතුළත් කිරීමට මම මෙම සැකසුම භාවිතා කරමි.

ඊට පසු ඔබට මෙම ඇතුළත් කිරීම් ඔබගේ ඇතුළත ඇත ~/.gitconfig

[url "https://yourusername@github.com"]
    insteadOf = https://github.com

[credential]
    helper = cache --timeout=28800

මූලාශ්රය:

http://git-scm.com/docs/git-credential-cache

http://git-scm.com/docs/git-config


6

ඔබ github සඳහා ssh යතුරක් සැකසූ විට, එය ඔබගේ පෙරනිමි යතුර නොවේ නම්, ඔබට ඔබේ කොටසක් එකතු කිරීමට අවශ්‍ය වනු ඇත ~/.ssh/config

Host *github.com
    User git
    IdentityFile ~/.ssh/github_id_rsa

6

ඔබ වින්ඩෝස් හි HTTPS භාවිතා කරන්නේ නම්, Git අක්තපත්‍ර ගබඩාව උත්සාහ කරන්න - එය ඔබගේ නම සහ මුරපදය රඳවා ගැනීමට වින්ඩෝස් අක්තපත්‍ර ගබඩාව භාවිතා කරයි.

Windows Credential Store for Git
This application is a small helper app designed to follow the 
git credentials API as defined by the Git Documentation.

Installation
1. Download the git-credential-winstore.exe application
2. Run it! If you have GIT in your PATH, it should just work.

ඊළඟ වතාවේ ඔබ ඔබේ නම සහ මුරපදය ඇතුළත් කළ විට එය ඔබට මතක තබා ගත හැකිය.


1
ඔබට ස්තුතියි. මෙම ව්‍යාපෘතිය වින්ඩෝස් සඳහා Git-Credential-Manager ලෙස නම් කරන ලදී .
මයිකල් එස්.

5

එසේම, ඔබ සෑම විටම ඔබගේ මුරපදය ඉල්ලා සිටිය යුතු නමුත් ඔබේ පරිශීලක නාමය පමණක් නොව, ඔබ දුරස්ථය HTTPS ලෙස පරිශීලක නාමයකින් වින්‍යාස කරයි .. මේ වගේ ..

git config remote.origin.url https://USERNAME@github.com/repo_owner/repo_name

මෙයින් පසු, සෑම විටම ඔබගේ මුරපදය ඔබෙන් විමසනු ඇත, නමුත් ඔබේ පරිශීලක නාමය නොවේ.

ලෝකය සමඟ බෙදා ගැනීමට පෙර මගේ ගිතබ් මුරපදය ටයිප් කිරීමට බල කිරීමට මා කැමති බැවින් මම එයට කැමති වන්නේ මෙයයි.


2

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

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

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


2

SSH භාවිතා කරන්න

තල්ලු කිරීමේදී GitHub මුරපදය ඉල්ලීම වැළැක්වීම සඳහා, ඔබ HTTPS URL ( ) වෙනුවට SSH ( git@github.com:...) භාවිතා කළ යුතු https://github.com/...අතර ඔබේ SSH යතුර ඔබගේ GitHub ගිණුමට එක් කරන්න . බලන්න: මා භාවිතා කළ යුත්තේ කුමන දුරස්ථ URL ද?

GitHub - SSH සමඟ ක්ලෝන

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

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

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

.netrc

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

machine github.com
login USERNAME
password PASSWORD

OAuth

වෙනස්කම් තල්ලු කිරීම සඳහා OAuth ටෝකනය ( පුද්ගලික API ටෝකනය ) භාවිතා කරන්න , උදා

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

ආශ්‍රිත:


1

ඔබ වින්ඩෝස් භාවිතා කරන්නේ නම්, ඔබට මෙය භාවිතා කළ හැකිය:

$ git config --global credential.helper wincred

ඔබට තවත් වරක් පුරනය විය යුතු අතර එවිට git මතක තබා ගනී.


1

පරිශීලක නාමය විමසීම මට කරදරයක්, නමුත් මුරපදයක් ඉල්ලීම සතුටක් බැවින් එය ඔබගේ වෙනස්කම් සමඟ ප්‍රසිද්ධියේ යාමට ඔබට අවශ්‍ය බව සහතික කරයි ...

එබැවින් මම මෙය මගේ ".gitconfig" වෙත එක් කරමි

[url "https://myusername@github.com"]
    insteadOf = https://github.com

0

ඔබ වින්ඩෝස් හි සිටී නම්, වින්ඩෝස් සඳහා Git අක්තපත්‍ර කළමනාකරු භාවිතා කරන්න .

මෙම ව්‍යාපෘතියට ඇතුළත් වන්නේ :

  • වින්ඩෝස් අක්තපත්‍ර ගබඩාවේ මුරපද සුරක්ෂිත කිරීම
  • විෂුවල් ස්ටුඩියෝ කණ්ඩායම් සේවාවන් සඳහා බහු-සාධක සත්‍යාපන සහාය
  • GitHub සඳහා සාධක දෙකක සත්‍යාපන සහාය
  • පුද්ගලික ප්‍රවේශය දෘශ්‍ය ස්ටුඩියෝ කණ්ඩායම් සේවා සහ GitHub සඳහා ටෝකන් උත්පාදනය සහ භාවිත සහාය
  • Azure නාමාවලියෙහි සහාය ඇතිව දෘශ්‍ය ස්ටුඩියෝ කණ්ඩායම් සේවාවන් සඳහා අන්තර්ක්‍රියාකාරී නොවන මාදිලියේ සහාය
  • කණ්ඩායම් පදනම් සේවාදායකය සඳහා Kerberos සත්‍යාපනය
  • බිල්ඩ් ඒජන්ත ප්‍රශස්තිකරණය සඳහා විකල්ප සැකසුම්

හුදෙක් නවතම අනුවාදය බාගත සහ එය ස්ථාපනය කරන්න.

භාවිතා කරන්නේ කෙසේද

ඔයා එහෙම කරන්නේ නැහැ. අක්තපත්‍ර අවශ්‍ය වූ විට එය ඉන්ද්‍රජාලිකව ක්‍රියාත්මක වේ.

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.