සෑම විටම මගේ පරිශීලකයා සහ මුරපදය ක්ෂණිකව ඇතුළත් නොකර, GitExtension හි ස්වයංක්රීයව තල්ලු කර අදින්නට මට අවශ්යය .
ඉතින් මගේ අක්තපත්ර GIT හි සුරැකෙන්නේ කෙසේද?
සෑම විටම මගේ පරිශීලකයා සහ මුරපදය ක්ෂණිකව ඇතුළත් නොකර, GitExtension හි ස්වයංක්රීයව තල්ලු කර අදින්නට මට අවශ්යය .
ඉතින් මගේ අක්තපත්ර GIT හි සුරැකෙන්නේ කෙසේද?
Answers:
දුවන්න
git config --global credential.helper store
එවිට
git pull
පරිශීලක නාමයක් සහ මුරපදයක් ලබා දෙන්න, එවිට එම තොරතුරු පසුව මතකයේ රැඳෙනු ඇත. අක්තපත්ර තැටියේ ඇති ගොනුවක ගබඩා කර ඇති අතර, තැටියේ අවසරය “පරිශීලකයාට කියවිය හැකි / ලිවිය හැකි” නමුත් තවමත් සරල පෙළෙහි ඇත.
ඔබට පසුව මුරපදය වෙනස් කිරීමට අවශ්ය නම්
git pull
අසමත් වනු ඇත, මුරපදය වැරදියි, git පසුව වරද කළ පරිශීලකයා + මුරපදය ~/.git-credentials
ගොනුවෙන් ඉවත් කරයි , එබැවින් දැන් නැවත ධාවනය කරන්න
git pull
නව මුරපදයක් ලබා දීමට එය පෙර පරිදි ක්රියාත්මක වේ.
git config --global ...
git config
අක්තපත්ර ආචයනය git තුළ සක්රීය කිරීමට ඔබට භාවිතා කළ හැකිය .
git config --global credential.helper store
මෙම විධානය ක්රියාත්මක කරන විට, ඔබ දුරස්ථ ගබඩාවෙන් පළමු වරට අදින විට හෝ තල්ලු කරන විට, පරිශීලක නාමය සහ මුරපදය ගැන ඔබෙන් විමසනු ඇත.
පසුව, දුරස්ථ ගබඩාව සමඟ සන්නිවේදනය කිරීම සඳහා ඔබට පරිශීලක නාමය සහ මුරපදය ලබා දිය යුතු නැත.
ආචයන ආකෘතිය .git-credentials
ගොනුවක් වන අතර එය සාමාන්ය පෙළෙහි ගබඩා කර ඇත.
git config credential.helper
මතක හැඹිලිය සඳහා ඔබට වෙනත් උදව්කරුවන් භාවිතා කළ හැකිය :
git config credential.helper cache <timeout>
timeout parameter
අක්තපත්ර මතකයේ කොපමණ කාලයක් තබා ගත යුතුද යන්න තීරණය කිරීම සඳහා විකල්පයක් අවශ්ය වේ . සහායකයා භාවිතා කරමින්, අක්තපත්ර කිසි විටෙකත් තැටියට අත නොතබන අතර නියමිත වේලාව අවසන් වූ පසු මකා දමනු ඇත. මෙම default
අගය කියන්නේ900 seconds (15 minutes).
අවවාදයයි : ඔබ මෙම ක්රමය භාවිතා කරන්නේ නම්, ඔබගේ git ගිණුමේ මුරපද plaintext
ආකෘතියෙන් සුරකිනු ඇත global .gitconfig file
, උදා: ලිනක්ස් වලින් එය වනු ඇත/home/[username]/.gitconfig
මෙය ඔබට නුසුදුසු නම්, ssh key
ඒ වෙනුවට ඔබේ ගිණුම් සඳහා එකක් භාවිතා කරන්න.
git config credential.helper cache
මුරපද, ගොනුවකට සුරැකිය කළ නොහැකි වනු ඇත මතක පමණක් ගබඩා කර. බලන්න: git-scm.com/docs/git-credential-cache
නිර්දේශිත සහ ආරක්ෂිත ක්රමය: එස්එස්එච්
Ssh ගිතුබ් යතුරක් සාදන්න. වෙත යන්න github.com -> පසුතල -> SSH හා GPG යතුරු -> නව SSH කී. දැන් ඔබේ පුද්ගලික යතුර ඔබේ පරිගණකයට සුරකින්න.
එවිට, පෞද්ගලික යතුර ලෙස ගැලවීම නම් id_rsa තුළ ~ / .ssh / බහලුම, අපි එය තහවුරු කර ගැනීම සඳහා වැනි එකතු කරන්න:
ssh-add -K ~/.ssh/id_rsa
වඩාත් ආරක්ෂිත ක්රමයක්: හැඹිලි
අපගේ පරිශීලක නාමය සහ මුරපදය යම් කාලයක් සඳහා හැඹිලිගත කිරීමට අපට git-credential-store භාවිතා කළ හැකිය. ඔබේ CLI (ටර්මිනල් හෝ විධාන විමසුමේ) හි පහත සඳහන් දෑ ඇතුළත් කරන්න:
git config --global credential.helper cache
ඔබට කල් ඉකුත් වීමේ කාලය (තත්පර වලින්) සැකසිය හැකිය:
git config --global credential.helper 'cache --timeout=3600'
ඊටත් වඩා අඩු ආරක්ෂිත ක්රමයක්
Git-credential-store ද භාවිතා කළ හැකි නමුත් ඔබේ තැටියේ ඇති සරල පෙළ ගොනුවේ මුරපද සුරකිනු ඇත:
git config credential.helper store
යල් පැන ගිය පිළිතුර - ඉක්මන් හා අනාරක්ෂිත
මෙය ඔබගේ මුරපදය සරල පෙළෙහි ගබඩා කිරීමේ අනාරක්ෂිත ක්රමයකි. යමෙකු ඔබේ පරිගණකයේ පාලනය ලබා ගන්නේ නම්, ඔබගේ මුරපදය නිරාවරණය වනු ඇත!
ඔබට ඔබගේ පරිශීලක නාමය සහ මුරපදය මේ ආකාරයෙන් සැකසිය හැකිය:
git config --global user.name "your username"
git config --global user.password "your password"
පර්යන්තයේ, පහත සඳහන් දෑ ඇතුළත් කරන්න:
# Set git to use the credential memory cache
git config --global credential.helper cache
පෙරනිමියෙන්, Git ඔබේ මුරපදය විනාඩි 15 ක් රඳවා ගනී.
සුපුරුදු මුරපද හැඹිලි කල් ඉකුත්වීම වෙනස් කිරීමට, පහත සඳහන් දෑ ඇතුළත් කරන්න:
# Set the cache to timeout after 1 hour (setting is in seconds)
git config --global credential.helper 'cache --timeout=3600'
GitHub උදව් වෙතින්
cache
කොටස වෙනුවට ආදේශ කරන්න store
. එබැවින්, සම්පූර්ණ විධානය වනුයේ : git config --global credential.helper store
. මෙය ඔබගේ මුරපදය විවෘත පෙළ ගොනුවක ගබඩා කරන බව සලකන්න (කිසිදු සංකේතනයකින් තොරව, එසේ පැවසීමට).
--timeout
පරාමිතිය සඳහා උපරිම අගය කුමක්ද?
ඔබේ අක්තපත්ර ගබඩා කිරීම සඳහා ඔබට ~/.gitconfig
ගොනුව සංස්කරණය කළ හැකිය
sudo nano ~/.gitconfig
දැනටමත් තිබිය යුතු
[user]
email = your@email.com
user = gitUSER
ඔබ මෙම ගොනුවේ පතුලේ එකතු කළ යුතුය.
[credential]
helper = store
මම මෙම විකල්පය නිර්දේශ කිරීමට හේතුව එය ගෝලීය වන අතර ඕනෑම අවස්ථාවක ඔබ යා යුතු ස්ථානය ඉවත් කර එය වෙනස් කළ යුතුය.
මෙම විකල්පය ඔබ පුද්ගලික පරිගණකයේ පමණක් භාවිතා කරන්න.
එවිට ඔබ අදින විට | ක්ලෝන | සාමාන්යයෙන් ඔබට මුරපදය ඇතුලත් කරන්න, මුරපදය ~/.git-credentials
ආකෘතියෙන් සුරකිනු ඇත
https://GITUSER:GITPASSWORD@DOMAIN.XXX
කොහෙද DOMAIN.XXX GITHUB.COM | BITBUCKET.ORG | අනික්
ලියකියවිලි බලන්න
ඔබේ අක්තපත්ර මේ ආකාරයෙන් යූආර්එල් හි තබන්න:
https://Username
:Password
@github.com/myRepoDir/myRepo.git
ඔබට එය මේ ආකාරයෙන් ගබඩා කළ හැකිය :
git remote add myrepo https://Userna...
... එය භාවිතා කිරීමට උදාහරණය :
git push myrepo master
දැන් එය url අන්වර්ථයන් ලැයිස්තුගත කිරීම වේ:
git remote -v
... සහ ඒවායින් එකක් මකාදැමීමේ විධානය:
git remote rm myrepo
git@github.com:Username/myRepo.git
https
නොව ssh
, මේ වගේ විසඳුමක් ප්රයෝජනවත් විය හැකි නිසා. ඔබට Oauth- ටෝකනයක් භාවිතා කළ හැකි බව සලකන්න, එය ඔබගේ GitHub මුරපදයට වඩා තරමක් ආරක්ෂිත වේ.
ගෝලීය සැකසුම සඳහා, ටර්මිනලය විවෘත කරන්න (ඕනෑම තැනක සිට) පහත සඳහන් දෑ ක්රියාත්මක කරන්න:
git config --global user.name "your username"
git config --global user.password "your password"
එමඟින්, ඔබේ යන්ත්රයේ ඇති ඕනෑම දේශීය git repo එකක් එම තොරතුරු භාවිතා කරනු ඇත.
එක් එක් repo සඳහා ඔබට තනි තනිව වින්යාසගත කළ හැකිය:
පහත සඳහන් දෑ ක්රියාත්මක කරන්න:
git config user.name "your username"
git config user.password "your password"
එය බලපාන්නේ එම ෆෝල්ඩරයට පමණි (ඔබගේ වින්යාසය දේශීය බැවින්).
--local
ටැගය එකතු කළ නමුත් නැවත කිසිවක් සිදු නොවේ
ඔබගේ මුරපද සංකේතාංකනය නොකළ තැටියේ ගබඩා කිරීමට ඔබට git-credential-store භාවිතා කළ හැකිය, එය ගොනු පද්ධතියේ අවසරයෙන් පමණක් ආරක්ෂා වේ.
උදාහරණයක්
$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
[several days later]
$ git push http://example.com/repo.git
[your credentials are used automatically]
ගොනුවේ ගබඩා කර ඇති අක්තපත්ර ඔබට පරීක්ෂා කළ හැකිය ~/.git-credentials
වැඩි විස්තර සඳහා git-credential-store වෙත පිවිසෙන්න - අක්තපත්ර තැටියේ ගබඩා කිරීමට උදව් කරන්න
පරිශීලක නාමය / මුරපද සත්යාපනයට වඩා ඔබ SSH සත්යාපනය භාවිතා කරන්නේ නම් ඔබට වඩාත් සුරක්ෂිත වනු ඇත.
ඔබ මැක් භාවිතා කරන්නේ නම්, SSH ග්රාහක සත්යාපනය MacOS යතුරුපුවරුව සමඟ ඒකාබද්ධ වේ. ඔබ SSH යතුරක් නිර්මාණය කළ පසු, ඔබේ පර්යන්තයට ටයිප් කරන්න:
ssh-add -K ~/.ssh/id_rsa
මෙය SSH පුද්ගලික යතුර MacOS යතුරුපුවරුවට එක් කරනු ඇත. Git සේවාදායකයා දුරස්ථ සේවාදායකයට සම්බන්ධ වන විට ssh භාවිතා කරයි. ඔබ ඔබේ ssh පොදු යතුර සේවාදායකය සමඟ ලියාපදිංචි කර ඇති තාක් කල්, ඔබ හොඳින් වනු ඇත.
SSH
. HTTP සත්යාපනය භාවිතා කරමින්, අක්තපත්ර සොරකම් කරන කෙනෙකුට ප්රවේශ විය හැක්කේ GitHub/GitLab
. සීමිත ජීවිතයක් ගත කිරීම සඳහා ටෝකනය ද නිර්මාණය කර ඇත.
SO පෝස්ට්, බ්ලොග් ආදිය දුසිම් ගණනක් ඉක්මවා ගිය පසු , මම සෑම ක්රමයක්ම අත්හදා බැලුවෙමි. එය සියල්ල ආවරණය කරයි.
අන්තර්ක්රියාකාරී මුරපද විමසුමක් නොමැතිව ගබඩාවක් ක්ලෝන කිරීම සඳහා ඔබට git ආරක්ෂිතව සත්යාපනය කළ හැකි සියලු ක්රම සහ මෙවලම් මේවාය .
යන්තම් වැඩ කිරීමට අවශ්යද? මෙය මැජික් රිදී උණ්ඩයයි.
ඔබගේ ප්රවේශ ටෝකනය ලබා ගන්න (ඒ සඳහා ඔබට ගිතුබ් හෝ ගිටියා උපදෙස් අවශ්ය නම්, වංචා පත්රයේ කොටස බලන්න) සහ එය පරිසර විචල්යයක සකසන්න (දේශීය දේවාල හා යෙදවීම සඳහා):
MY_GIT_TOKEN=xxxxxxxxxxxxxxxx
ගිතුබ් සඳහා, මෙම රේඛා වාචිකව පිටපත් කර ධාවනය කරන්න :
git config --global url."https://api:$MY_GIT_TOKEN@github.com/".insteadOf "https://github.com/"
git config --global url."https://ssh:$MY_GIT_TOKEN@github.com/".insteadOf "ssh://git@github.com/"
git config --global url."https://git:$MY_GIT_TOKEN@github.com/".insteadOf "git@github.com:"
සුබ පැතුම්, දැන් ඕනෑම ස්වයංක්රීය මෙවලම් ක්ලෝන කිරීමේ git ගබඩාවලට මුරපද විමසුමක් මඟින් බාධා නොකරනු ඇත, https හෝ ssh url විලාසය භාවිතා කළත්.
ගිතුබ් භාවිතා කරන්නේ නැද්ද?
වෙනත් වේදිකා සඳහා (Gitea, Github, Bitbucket), URL එක වෙනස් කරන්න. පරිශීලක නාම වෙනස් නොකරන්න (අත්තනෝමතික වුවත්, ඒවා විශේෂිත වින්යාස ඇතුළත් කිරීම් සඳහා අවශ්ය වේ).
අනුකූලතාව
මෙය දේශීයව MacOS, Linux, Windows (Bash වලින්), Docker, CircleCI, Heroku, Akkeris ආදියෙහි ක්රියාත්මක වේ.
තවත් තොරතුරු
වංචා පත්රයේ ".gitconfig ඒ වෙනුවට" කොටස බලන්න.
ආරක්ෂාව
වංචා පත්රයේ “ආරක්ෂාව” කොටස බලන්න.
git config --global credential."https://somegithost.com".username MyUserName
වන, දී ඔබගේ විධානයන් සපයනු ලබයි, නමුත් වෙනත් ඕනෑම තැනක මෙම පිළිතුර නූල් තුළ නැත. එම විශේෂිත විසඳුම OP හි ප්රශ්නයට පිළිතුරු සපයන්නේ නැත, නමුත් එය මගේ පිළිතුරට පිළිතුරු දුන්නේය, එබැවින් ස්තූතියි!
එවැනි අවස්ථාවකදී පහත දැක්වෙන විධාන රේඛාව භාවිතා කර ඔබගේ GitHub මුරපදය සහ පරිශීලක නාමය මතක තබා ගැනීමට git ට පැවසීමට ඔබට git අක්තපත්ර සහායකයකු අවශ්ය වේ:
git config --global credential.helper wincred
ඔබ SSH යතුර භාවිතා කරමින් repo භාවිතා කරන්නේ නම් සත්යාපනය කිරීමට ඔබට SSH යතුර අවශ්ය වේ.
wincred
යල්පැන ඇති, stackoverflow.com/a/53184233/5281824
ඉහත පිළිතුරු කිසිවක් මට වැඩ කළේ නැත. මම මට ඕන සෑම අවස්ථාවකදීම පහත සඳහන් ටිකෙන් fetch
හෝ pull
:
Enter passphrase for key '/Users/myusername/.ssh/id_rsa':
මැක්ස් සඳහා
මගේ මුරපදය විමසීමෙන් එය වළක්වා ගැනීමට මට හැකි විය:
vi ~/.ssh/config
UseKeychain yes
:wq!
වින්ඩෝස් සඳහා
මෙම stackexchange හි ඇති තොරතුරු භාවිතා කර එය වැඩ කිරීමට මට හැකි විය: https://unix.stackexchange.com/a/12201/348665
~/.gitconfig
ගොනුව සංස්කරණය කිරීමට අමතරව , ඔබ ඇසුවොත් ඔබට එය කළ හැකිය:
git config --local --edit
හෝ
git config --global --edit
git config --local user.name 'your username'
git config --local user.password 'your password'
හෝ
git config --global user.name 'your username'
git config --global user.password 'your password'
ඔබගේ පරිශීලක නාමය සහ මුරපදය ද්විත්ව උපුටා දැක්වීම් භාවිතා කරන්නේ නම් ඔබගේ මුරපදය බිඳ දැමිය හැකි අක්ෂර කිහිපයක් භාවිතා කළ හැකිය.
--local
හෝ --global
ව්යාපෘතිය සඳහා හෝ OS පරිශීලකයා සඳහා වින්යාස පරාමිතීන් සුරකින ලදි.
භාවිතා කරන්න
git config --global credential.helper store
හා කරන්න GIT අදින්න , එය, පරිශීලක නාමය හා මුරපදය ඉල්ලන දැන් සිට එය මත භාව්ත නාමය හා මුර පදය සඳහා කිසිදු කඩිනම් ලබා දෙනු ඇත නෑ ඒක විස්තර ගබඩා කරනු ඇත
.git-credentials
ඔබ ධාවනය වන විට ඔබගේ පරිශීලක නාමය සහ මුරපදය (ප්රවේශ ටෝකනය) ගබඩා කර ඇති ස්ථානයකි git config --global credential.helper store
, එය වෙනත් පිළිතුරු වලින් යෝජනා කරයි, ඉන්පසු ඔබේ පරිශීලක නාමය සහ මුරපදය ටයිප් කරන්න හෝ ප්රවේශ ටෝකනය:
https://${username_or_access_token}:${password_or_access_token}@github.com
එබැවින්, පරිශීලක නාමය සහ මුරපදය සුරැකීම සඳහා (ප්රවේශ ටෝකනය):
git config —-global credential.helper store
echo “https://${username}:${password_or_access_token}@github.com“ > ~/.git-credentials
ගිතුබ් රොබෝ සඳහා මෙය ඉතා ප්රයෝජනවත් වේ, උදා: එකම ඩොකර් ගබඩාවේ දාම ස්වයංක්රීය ගොඩනැගිලි විසඳීම සඳහා විවිධ ශාඛා සඳහා නීති රීති ඇතිව එය වෙතට තල්ලු කිරීමෙන් එය ක්රියාත්මක කරන්නpost_push
ඩොකර් හබ් හූකර් තුළට .
මේ සඳහා උදාහරණයක් මෙහි ස්ටක් ඕවර් ප්රවාහයෙන් දැකිය හැකිය .
නිල git ප්රලේඛනය පරීක්ෂා කරන්න:
දුරස්ථ වෙත සම්බන්ධ වීම සඳහා ඔබ SSH ප්රවාහනය භාවිතා කරන්නේ නම්, මුරපදයක් නොමැතිව යතුරක් ඔබට තිබිය හැකි අතර, එමඟින් ඔබේ පරිශීලක නාමය සහ මුරපදය ටයිප් නොකර දත්ත ආරක්ෂිතව මාරු කිරීමට ඉඩ ලබා දේ. කෙසේ වෙතත්, HTTP ප්රොටෝකෝල සමඟ මෙය කළ නොහැක - සෑම සම්බන්ධතාවකටම පරිශීලක නාමයක් සහ මුරපදයක් අවශ්ය වේ. මුරපදයක් සඳහා ඔබ භාවිතා කරන ටෝකනය අහඹු ලෙස ජනනය වන අතර, උච්චාරණය කළ නොහැකි ද්වි-සාධක සත්යාපනය සහිත පද්ධති සඳහා මෙය වඩාත් අපහසු වේ.
වාසනාවකට මෙන්, Git සතුව අක්තපත්ර පද්ධතියක් ඇත. කොටුවට ලබා දී ඇති විකල්ප කිහිපයක් Git සතුව ඇත:
පෙරනිමිය කිසිසේත් හැඹිලිගත කිරීම නොවේ. සෑම සම්බන්ධතාවයක්ම ඔබගේ පරිශීලක නාමය සහ මුරපදය ඉල්ලා සිටිනු ඇත.
“හැඹිලි” මාදිලිය යම් කාලයක් සඳහා අක්තපත්ර මතකයේ තබා ගනී. මුරපද කිසිවක් කවදාවත් තැටියේ ගබඩා කර නොමැති අතර මිනිත්තු 15 කට පසු ඒවා හැඹිලියෙන් ඉවත් කරනු ලැබේ.
“ගබඩා” මාදිලිය අක්තපත්ර තැටියේ ඇති සරල පෙළ ගොනුවකට සුරකිනු ඇති අතර ඒවා කිසි විටෙකත් කල් ඉකුත් නොවේ. මෙයින් අදහස් කරන්නේ ඔබ Git සත්කාරකය සඳහා ඔබගේ මුරපදය වෙනස් කරන තුරු, ඔබට නැවත වරක් අක්තපත්ර ටයිප් කිරීමට අවශ්ය නොවන බවයි. මෙම ප්රවේශයේ අවාසිය නම් ඔබගේ මුරපද ඔබේ නිවසේ නාමාවලියෙහි සරල ගොනුවක පැහැදිලි පා text යක ගබඩා කර තිබීමයි.
ඔබ මැක් භාවිතා කරන්නේ නම්, Git “osxkeychain” මාදිලියක් සමඟ එන අතර එය ඔබගේ පද්ධති ගිණුමට අමුණා ඇති ආරක්ෂිත යතුරුපුවරුවේ අක්තපත්ර රඳවා ගනී. මෙම ක්රමය අක්තපත්ර තැටියේ ගබඩා කර ඇති අතර ඒවා කිසි විටෙකත් කල් ඉකුත් නොවේ, නමුත් ඒවා HTTPS සහතික සහ සෆාරි ස්වයංක්රීයව පුරවන එකම පද්ධතිය සමඟ සංකේතනය කර ඇත.
ඔබ වින්ඩෝස් භාවිතා කරන්නේ නම්, ඔබට “වින්ඩෝස් සඳහා Git අක්තපත්ර කළමනාකරු” නමින් සහායකයකු ස්ථාපනය කළ හැකිය. මෙය ඉහත විස්තර කර ඇති “ඔක්ස්කිචේන්” සහායකයාට සමාන ය, නමුත් සංවේදී තොරතුරු පාලනය කිරීමට වින්ඩෝස් අක්තපත්ර ගබඩාව භාවිතා කරයි. එය https://github.com/Microsoft/Git-Credential-Manager-for-Windows වෙතින් සොයාගත හැකිය .
Git වින්යාස අගයක් සැකසීමෙන් ඔබට මෙම ක්රම වලින් එකක් තෝරා ගත හැකිය:
$ git config --global credential.helper cache
$ git config --global credential.helper store
සදහටම ගබඩා කිරීම වෙනුවට අක්තපත්ර හැඹිලි කිරීම ආරක්ෂිත යැයි මම සිතමි:
git config credential.helper 'cache' --timeout=10800
ලස්සන සහ ආරක්ෂිතයි
කල් ඉකුත්වීම තත්පර වලින් (උදාහරණයේ පැය 3).
ත්රෙඩ් එක සම්පූර්ණයෙන් කියවා මෙම ප්රශ්නයට බොහෝ පිළිතුරු අත්හදා බැලීමෙන් පසුව, අවසානයේදී මට වැඩ කරන ක්රියා පටිපාටිය මට හමු විය. යමෙකුට සංකීර්ණ භාවිත නඩුවක් සමඟ කටයුතු කිරීමට සිදුවුවද එය සම්පූර්ණ ත්රෙඩ් එක හරහා යාමට අවශ්ය නැතිනම් එය බෙදා ගැනීමට මට අවශ්යය . Gitcredentials-store යනාදිය .
මම යෝජනා ක්රියා පටිපාටිය පහත සොයා නම් ඔබ (මා වැනි) විවිධ පරිශීලක නාමය / රහස් පදය සංයෝජන කිහිපයක් භාවිතා කිහිපයක් සපයන්නන් (GitLab, GitHub, Bitbucket, ආදිය) සිට නිධි කිහිපයක් සමග කටයුතු කිරීමට සිදු වේ. ඔබට ඒ වෙනුවට වැඩ කිරීමට ඇත්තේ එක් ගිණුමක් පමණක් නම්, පෙර පිළිතුරු වලින් ඉතා හොඳින් පැහැදිලි කර ඇති git config --global credential.helper store
හෝ git config --global user.name "your username"
වෙනත් විසඳුම් භාවිතා කිරීමට වඩා හොඳ විය හැකිය .
මගේ විසඳුම:
> git config --global --unset credentials.helper
> cd /path/to/my/repo
> git config --unset credential.helper
> git config credential.helper 'store --file ~/.git_repo_credentials'
සටහන : මෙම විධානය මඟින් ".git_repo_credentials" නමින් නව ගොනුවක් ඔබගේ නිවාස නාමාවලියට ඇතුල් කරයි, එමඟින් Git ඔබේ අක්තපත්ර ගබඩා කරයි. ඔබ ගොනු නාමයක් සඳහන් නොකරන්නේ නම්, Git සුපුරුදු ".git_credentials" භාවිතා කරයි. මෙම අවස්ථාවේදී සරලවම පහත විධානය නිකුත් කිරීම සිදු කරනු ඇත:
> git config credential.helper store
git config credential.*.username my_user_name
සටහන : ඔබේ ගබඩාවන් එකම සැපයුම්කරුවෙකුගෙන් නම් (උදා: GitLab) "*" භාවිතා කිරීම හරි ය. ඒ වෙනුවට ඔබේ ගබඩාවන් විවිධ සැපයුම්කරුවන් විසින් සත්කාරකත්වය සපයන්නේ නම්, පහත දැක්වෙන උදාහරණයේ (GitLab සඳහා) මෙන් සෑම ගබඩාවක් සඳහාම සැපයුම්කරු වෙත සබැඳිය පැහැදිලිව සැකසීමට මම යෝජනා කරමි:
git config credential.https://gitlab.com.username my_user_name
මෙම අවස්ථාවේදී ඔබ ඔබේ අක්තපත්ර අවශ්ය විධානයක් නිකුත් කරන්නේ නම් (උදා git pull
) "my_user_name" ට අනුරූප මුරපදය ඔබෙන් අසනු ඇත. මෙය අවශ්ය වන්නේ එක් වරක් පමණි. මන්දයත් අක්තපත්ර ".git_repo_credentials" වෙත ගබඩා කර ඇති අතර පසුකාලීන ප්රවේශයන්හිදී එකම දත්ත ස්වයංක්රීයව භාවිතා කරයි.
රයිෆ්රොල්, ලිනක්ස් උබුන්ටු පිළිබඳ අදහස් දැක්වීමේ සිට, මෙම පිළිතුරෙන් , උබුන්ටු හි ඇති ආකාරය මෙන්න:
sudo apt-get install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
තවත් සමහර ඩිස්ට්රෝ ද්විමය සපයන බැවින් ඔබට එය තැනීමට අවශ්ය නැත.
ඕඑස් එක්ස් හි එය සාමාන්යයෙන් "ඔක්ස්කිචේන්" හි පෙරනිමි මොඩියුලයක් සමඟ "ගොඩනගා" ඇති බැවින් ඔබට එය නොමිලේ ලැබේ.