GIT [GitExtension] හි පරිශීලක නාමය සහ මුරපදය සුරැකෙන්නේ කෙසේද?


1313

සෑම විටම මගේ පරිශීලකයා සහ මුරපදය ක්ෂණිකව ඇතුළත් නොකර, GitExtension හි ස්වයංක්‍රීයව තල්ලු කර අදින්නට මට අවශ්‍යය .

ඉතින් මගේ අක්තපත්‍ර GIT හි සුරැකෙන්නේ කෙසේද?


1
ඔබට SSH හරහා සත්‍යාපනය කළ හැකිය: stackoverflow.com/questions/6565357/…
ඇන්ටන්


1
Nt ඇන්ටන් ටාරසෙන්කෝ මගේ gitconfig ප්‍රොක්සි ගැන කිසිවක් නොකියයි, [පරිශීලක] විද්‍යුත් තැපෑල = email@dummy.com name = uname [අක්තපත්‍ර] උපකාරක = ගබඩාව
gc7__

Answers:


2360

දුවන්න

git config --global credential.helper store

එවිට

git pull

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

ඔබට පසුව මුරපදය වෙනස් කිරීමට අවශ්‍ය නම්

git pull

අසමත් වනු ඇත, මුරපදය වැරදියි, git පසුව වරද කළ පරිශීලකයා + මුරපදය ~/.git-credentialsගොනුවෙන් ඉවත් කරයි , එබැවින් දැන් නැවත ධාවනය කරන්න

git pull

නව මුරපදයක් ලබා දීමට එය පෙර පරිදි ක්‍රියාත්මක වේ.


6
මුරපදය පසුව වෙනස් කිරීමට -u ධජය වැදගත් වන්නේ කෙසේද?
lucidbrot

9
ඩේබියන් / උබුන්ටු සඳහා libsecret stackoverflow.com/questions/36585496/…
rofrol

3
ප්‍රමාද වී පිළිතුරු දීම ගැන සමාවෙන්න. git pull -u නවතම අනුවාදය සමඟ ක්‍රියා නොකරයි. මම පිළිතුර යාවත්කාලීන කර ඇත. එය ඔබගේ ප්‍රශ්නයට පිළිතුරු දෙනු ඇතැයි සිතමි.
නීටිකා

67
මෙය ඔබගේ පරිශීලක නාමය සහ මුරපදය සරල පෙළ ගොනුවක ~ / .git-අක්තපත්‍රවල ගබඩා කරන බව සලකන්න. ඕනෑම කෙනෙකුට එය විවෘත කර කියවිය හැකිය.
රොබෝ ඇලෙක්ස්

1
Ha ෂම්සුල්ආරෙෆින් සාජිබ් භාවිතයgit config --global ...
ෂෝන් ඇල්රෙඩ්

363

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ඒ වෙනුවට ඔබේ ගිණුම් සඳහා එකක් භාවිතා කරන්න.


3
ඔබ .gitconfig ගොනුව පෙන්වීමට කැමති නම් - පළමු විධානය දෙවනුව නැවත ලියනු ලැබේ :(
ඇඩම්

3
සඳහා git config credential.helper cacheමුරපද, ගොනුවකට සුරැකිය කළ නොහැකි වනු ඇත මතක පමණක් ගබඩා කර. බලන්න: git-scm.com/docs/git-credential-cache
SA

1
වැඩ කරන්නේ නෑ. මාරාන්තිකයි: සත්‍යාපනය අසමත් විය. මුරපදය ඉල්ලන්නේවත් නැත.
පිලිප් රෙගෝ

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

මම මෙය gitlab සඳහා භාවිතා කරන්නේ කෙසේද
anil

189

නිර්දේශිත සහ ආරක්‍ෂිත ක්‍රමය: එස්එස්එච්

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"

17
මෙය මට වැඩ කළේ නැත, git clone තවමත් පරිශීලක නාමය සහ මුරපදය ඉල්ලයි
ඔලිවර්

12
ඔබගේ මුරපදය මේ ආකාරයෙන් ගබඩා කිරීමට මම නිර්දේශ නොකරමි, මන්ද "git config --global -l" ඔබේ මුරපදය කොන්සෝලය තුළ හෙළි කරනු ඇත
CCC

1
මෙය මට වැඩ කරන්නේ නැත. Gitconfig හි පිරිවිතරයන්ට අනුව “මුරපදය” සඳහා ඉඩක් නොමැති බැවින් එය ඕනෑම කෙනෙකුට වැඩ කිරීම පුදුම සහගතය
හාමිෂ් ටොඩ්

.gitconfig යනු වෙනස් ගොනුවකි. පෙළ මුරපදය. ඔබට ssh යතුරු භාවිතා කළ නොහැකි නම් "git config --global credential.helper cache" භාවිතා කරන්න.
skabbit

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

103

අක්තපත්‍ර සහායකයා සක්‍රිය කරන්න එවිට Git ඔබගේ මුරපදය මතකයේ තබා ගනී.

පර්යන්තයේ, පහත සඳහන් දෑ ඇතුළත් කරන්න:

# 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 උදව් වෙතින්


7
වැදගත් වන ගෝලීය අනුවාදය යෝජනා කළ එකම තැනැත්තා ඔබයි, මම නැවත නැවත ක්ලෝන කරන සෑම අවස්ථාවකම එය මට විනාශ වීමට හේතු වේ
Xerus

5
කාලය අනන්තය දක්වා සකසන්නේ කෙසේද? මට නැවත කිසි විටෙකත් මගේ මුරපදය ඇතුළත් කිරීමට අවශ්‍ය නැත.
අවාමන්ඩර්

8
V අවාමන්ඩර් cacheකොටස වෙනුවට ආදේශ කරන්න store. එබැවින්, සම්පූර්ණ විධානය වනුයේ : git config --global credential.helper store. මෙය ඔබගේ මුරපදය විවෘත පෙළ ගොනුවක ගබඩා කරන බව සලකන්න (කිසිදු සංකේතනයකින් තොරව, එසේ පැවසීමට).
ඇලෙක්සැන්ඩර්

2
As කැස්පර් එය එක් ගිණුමකට වඩා වැඩ නොකරයි, මුරපදය ගබඩාවෙන් ලබා ගත යුත්තේ ඊමේල් මත පදනම්ව නොවේ, ඒ වෙනුවට ලැයිස්තුවේ පළමු එක ගනු ලැබේ.
අවාමන්ඩර්

2
V අවාමන්ඩර් හ්ම් .. එය එසේ විය යුතුද? නැතහොත් එය දෝෂයක් විය හැකිද? --timeoutපරාමිතිය සඳහා උපරිම අගය කුමක්ද?
ඇලෙක්සන්දර්

52

ඔබේ අක්තපත්‍ර ගබඩා කිරීම සඳහා ඔබට ~/.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 | අනික්

ලියකියවිලි බලන්න

ඔබේ පර්යන්තය නැවත ආරම්භ කරන්න.


1
Git bash කවුළුව නැවත ආරම්භ කිරීමට අමතක නොකරන්න. මම එය කළ විට පමණක් එය මට වැඩ කළේය.
sofs1

37

ඔබේ අක්තපත්‍ර මේ ආකාරයෙන් යූආර්එල් හි තබන්න:

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


8
ඔබට ඔබගේ මුරපදය URL එකෙන් ඉවත් කළ හැකිය, එවිට Git ඔබගේ මුරපදය ඉල්ලනු ඇත, නමුත් ඔබේ පරිශීලක නාමය නොවේ.
කැන්ගරු

HTTP වෙනුවට SSH භාවිතා කිරීම වඩා පහසු සහ ආරක්ෂිතයි. එබැවින්, ඔබට ඔබගේ Git මුරපදය රහසිගතව තබා ගත හැකි අතර ඔබේ SSH-Key පමණක් භාවිතා කරන්න. Git හි SSH පිළිබඳ තොරතුරු: help.github.com/en/enterprise/2.16/user/… git@github.com:Username/myRepo.git
Loïch

ඔබගේ මුරපදය යූආර්එල් හි තිබීම ඔබගේ පර්යන්තයේ ඉතිහාසයට සුරකිනු ඇත, එබැවින් මෙම ක්‍රමය එතරම් ආරක්ෂිත නොවේ.
ජොෂ් කොරියා

විකියේ පමණක් වර්තමානයේ හරහා සියල්ල ඉවත්කල හැකි සටහන httpsනොව ssh, මේ වගේ විසඳුමක් ප්රයෝජනවත් විය හැකි නිසා. ඔබට Oauth- ටෝකනයක් භාවිතා කළ හැකි බව සලකන්න, එය ඔබගේ GitHub මුරපදයට වඩා තරමක් ආරක්‍ෂිත වේ.
ඇස්ට්‍රෝ ෆ්ලොයිඩ්

32

ගෝලීය සැකසුම සඳහා, ටර්මිනලය විවෘත කරන්න (ඕනෑම තැනක සිට) පහත සඳහන් දෑ ක්‍රියාත්මක කරන්න:

  git config --global user.name "your username"
  git config --global user.password "your password"

එමඟින්, ඔබේ යන්ත්‍රයේ ඇති ඕනෑම දේශීය git repo එකක් එම තොරතුරු භාවිතා කරනු ඇත.

එක් එක් repo සඳහා ඔබට තනි තනිව වින්‍යාසගත කළ හැකිය:

  • repo ෆෝල්ඩරයේ ටර්මිනලය විවෘත කරන්න.
  • පහත සඳහන් දෑ ක්‍රියාත්මක කරන්න:

    git config user.name "your username"
    git config user.password "your password"
    

එය බලපාන්නේ එම ෆෝල්ඩරයට පමණි (ඔබගේ වින්‍යාසය දේශීය බැවින්).


8
කිසිවෙකුට දැකිය හැකි සරල වින්‍යාස ගොනුවක එවැනි අක්තපත්‍ර තිබීම භයානක නොවේද?
bool3max

1
ඔබේ ප්‍රශ්නය වෙනත් මාතෘකාවක් සඳහා විය යුතුය. ගෝලීය සහ දේශීය වශයෙන් git සඳහා නම සහ මුරපදය වින්‍යාසගත කරන්නේ කෙසේද යන්න පිළිබඳව අපි මෙහිදී සාකච්ඡා කරමු.
ටුවානන්ක්වර්ස්


12
පිළිතුරක ඇති විය හැකි ආරක්ෂක ගැටළු පිළිබඳව විමසීමට මෙහි ස්ථානයක් ඇති අතර එය එහි ගුණාත්මක භාවයට සෘජුවම බලපාන අතර එය ක්‍රියාත්මක කරන දහස් ගණනක් පරිශීලකයින් විය හැකිය.
මයිකල් කාර්ගල්

2
මා වෙනුවෙන් වැඩ කරන්නේ නැත, --localටැගය එකතු කළ නමුත් නැවත කිසිවක් සිදු නොවේ
පයාම්බීරමි

23

ඔබගේ මුරපද සංකේතාංකනය නොකළ තැටියේ ගබඩා කිරීමට ඔබට 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 වෙත පිවිසෙන්න - අක්තපත්‍ර තැටියේ ගබඩා කිරීමට උදව් කරන්න


18

පරිශීලක නාමය / මුරපද සත්‍යාපනයට වඩා ඔබ SSH සත්‍යාපනය භාවිතා කරන්නේ නම් ඔබට වඩාත් සුරක්ෂිත වනු ඇත.

ඔබ මැක් භාවිතා කරන්නේ නම්, SSH ග්‍රාහක සත්‍යාපනය MacOS යතුරුපුවරුව සමඟ ඒකාබද්ධ වේ. ඔබ SSH යතුරක් නිර්මාණය කළ පසු, ඔබේ පර්යන්තයට ටයිප් කරන්න:

ssh-add -K ~/.ssh/id_rsa

මෙය SSH පුද්ගලික යතුර MacOS යතුරුපුවරුවට එක් කරනු ඇත. Git සේවාදායකයා දුරස්ථ සේවාදායකයට සම්බන්ධ වන විට ssh භාවිතා කරයි. ඔබ ඔබේ ssh පොදු යතුර සේවාදායකය සමඟ ලියාපදිංචි කර ඇති තාක් කල්, ඔබ හොඳින් වනු ඇත.


1
K නොවිය යුතුද?
dez93_2000

1
FYI: මම මැක් එකක වැඩ කරනවා. "මිනිසා" තොරතුරු වලින්: "-k" නියෝජිතයා වෙත යතුරු පැටවීමේදී හෝ යතුරු මකා දැමීමේදී, සරල පුද්ගලික යතුරු පමණක් සකසා සහතික මඟ හරින්න. "-K" අනන්‍යතා එකතු කරන විට, සෑම මුරපදයක්ම පරිශීලකයාගේ යතුරු පුවරුවේ ගබඩා වේ. -D සමඟ අනන්‍යතා ඉවත් කිරීමේදී, එක් එක් මුරපදය එයින් ඉවත් කරනු ලැබේ.
බිරෝල් ඊෆේ

3
මෙම වැඩය https මත පදනම් වූ ගබඩාවන් සඳහා යැයි මම නොසිතමි.
zakmck

6
මෙම පිළිතුර SSH පුද්ගලික යතුරු සමඟ මුරපද (HTTPS repos) ව්‍යාකූල කරන බවක් පෙනේ.
ස්ටීව් බෙනට්

2
මම එකඟවෙන්නේ නැහැ. ධාරකයට ප්‍රවේශය ලබා දීමෙන් ඔබට වඩාත් ආරක්ෂිත විය නොහැක SSH. HTTP සත්‍යාපනය භාවිතා කරමින්, අක්තපත්‍ර සොරකම් කරන කෙනෙකුට ප්‍රවේශ විය හැක්කේ GitHub/GitLab. සීමිත ජීවිතයක් ගත කිරීම සඳහා ටෝකනය ද නිර්මාණය කර ඇත.
දිමිත්‍රි කොප්රිවා

17

SO පෝස්ට්, බ්ලොග් ආදිය දුසිම් ගණනක් ඉක්මවා ගිය පසු , මම සෑම ක්‍රමයක්ම අත්හදා බැලුවෙමි. එය සියල්ල ආවරණය කරයි.

වැනිලා ඩිවෝප්ස් Git අක්තපත්‍ර සහ පුද්ගලික පැකේජ වංචා පත්‍රිකාව

අන්තර්ක්‍රියාකාරී මුරපද විමසුමක් නොමැතිව ගබඩාවක් ක්ලෝන කිරීම සඳහා ඔබට git ආරක්ෂිතව සත්‍යාපනය කළ හැකි සියලු ක්‍රම සහ මෙවලම් මේවාය .

  • SSH පොදු යතුරු
    • SSH_ASKPASS
  • API ප්‍රවේශ ටෝකන
    • GIT_ASKPASS
    • .gitconfig ඒ වෙනුවට
    • .gitconfig [අක්තපත්‍ර]
    • .git- අක්තපත්‍ර
    • .netrc
  • පුද්ගලික පැකේජ (නොමිලේ)
    • node / npm package.json
    • python / pip / බිත්තර අවශ්‍යතා. txt
    • රූබි මැණික් මැණික්
    • golang go.mod

රිදී උණ්ඩය

යන්තම් වැඩ කිරීමට අවශ්‍යද? මෙය මැජික් රිදී උණ්ඩයයි.

ඔබගේ ප්‍රවේශ ටෝකනය ලබා ගන්න (ඒ සඳහා ඔබට ගිතුබ් හෝ ගිටියා උපදෙස් අවශ්‍ය නම්, වංචා පත්‍රයේ කොටස බලන්න) සහ එය පරිසර විචල්‍යයක සකසන්න (දේශීය දේවාල හා යෙදවීම සඳහා):

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 ඒ වෙනුවට" කොටස බලන්න.

ආරක්ෂාව

වංචා පත්‍රයේ “ආරක්ෂාව” කොටස බලන්න.


2
මෙය ජීවිතාරක්ෂකයෙකි. ස්තූතියි.
annaoomph

2
මම පසුව විය git config --global credential."https://somegithost.com".username MyUserNameවන, දී ඔබගේ විධානයන් සපයනු ලබයි, නමුත් වෙනත් ඕනෑම තැනක මෙම පිළිතුර නූල් තුළ නැත. එම විශේෂිත විසඳුම OP හි ප්‍රශ්නයට පිළිතුරු සපයන්නේ නැත, නමුත් එය මගේ පිළිතුරට පිළිතුරු දුන්නේය, එබැවින් ස්තූතියි!
TheDudeAbides

12

එවැනි අවස්ථාවකදී පහත දැක්වෙන විධාන රේඛාව භාවිතා කර ඔබගේ GitHub මුරපදය සහ පරිශීලක නාමය මතක තබා ගැනීමට git ට පැවසීමට ඔබට git අක්තපත්‍ර සහායකයකු අවශ්‍ය වේ:

git config --global credential.helper wincred 

ඔබ SSH යතුර භාවිතා කරමින් repo භාවිතා කරන්නේ නම් සත්‍යාපනය කිරීමට ඔබට SSH යතුර අවශ්‍ය වේ.


wincredයල්පැන ඇති, stackoverflow.com/a/53184233/5281824
වියළීම

11

ඉහත පිළිතුරු කිසිවක් මට වැඩ කළේ නැත. මම මට ඕන සෑම අවස්ථාවකදීම පහත සඳහන් ටිකෙන් fetchහෝ pull:

Enter passphrase for key '/Users/myusername/.ssh/id_rsa':


මැක්ස් සඳහා

මගේ මුරපදය විමසීමෙන් එය වළක්වා ගැනීමට මට හැකි විය:

  1. ධාවනය කිරීමෙන් වින්‍යාසය විවෘත කරන්න: vi ~/.ssh/config
  2. පහත සඳහන් දෑ එකතු කරන ලදි: UseKeychain yes
  3. සුරකින ලද සහ ඉවත් වන්න: Esc ඔබන්න , ඉන්පසු ඇතුල් කරන්න:wq!

වින්ඩෝස් සඳහා

මෙම stackexchange හි ඇති තොරතුරු භාවිතා කර එය වැඩ කිරීමට මට හැකි විය: https://unix.stackexchange.com/a/12201/348665


ඒ ඔබ SSH ප්‍රොටෝකෝලය භාවිතා කරන බැවිනි (වෙනත් පිළිතුරු HTTPS භාවිතා කරයි).
mariusm

6

~/.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 පරිශීලකයා සඳහා වින්‍යාස පරාමිතීන් සුරකින ලදි.


මෙම ද පරීක්ෂා එක් ඊටත් වඩා පැහැදිලි බව.
prosti

6

භාවිතා කරන්න

git config --global credential.helper store

හා කරන්න GIT අදින්න , එය, පරිශීලක නාමය හා මුරපදය ඉල්ලන දැන් සිට එය මත භාව්ත නාමය හා මුර පදය සඳහා කිසිදු කඩිනම් ලබා දෙනු ඇත නෑ ඒක විස්තර ගබඩා කරනු ඇත


6
ඔබ මූලික වශයෙන් පිළිගත් පිළිතුර නැවත නැවතත් කර ඇත.
jsamol

4

පරිශීලක නාමය සහ මුරපදය .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 ඩොකර් හබ් හූකර් තුළට .

මේ සඳහා උදාහරණයක් මෙහි ස්ටක් ඕවර් ප්‍රවාහයෙන් දැකිය හැකිය .


ස්තූතියි, ඔබ ජීවිතාරක්ෂකයෙක්! අපට https: // $ {access_token set: $ {access_token} @ github.com
ලූකස් මෙන්ඩිස් මෝටා ඩා ෆොන්සෙකා

1
@LucasMendesMotaDaFonseca පිවිසුම් ටෝකනය පරිශීලක නාමය ලෙස භාවිතා කළ හැකිද ???
ජියාහාවෝ ෂු

4

නිල 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

https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage


4

සදහටම ගබඩා කිරීම වෙනුවට අක්තපත්‍ර හැඹිලි කිරීම ආරක්ෂිත යැයි මම සිතමි:

git config credential.helper 'cache' --timeout=10800

ලස්සන සහ ආරක්ෂිතයි

කල් ඉකුත්වීම තත්පර වලින් (උදාහරණයේ පැය 3).


2

ත්‍රෙඩ් එක සම්පූර්ණයෙන් කියවා මෙම ප්‍රශ්නයට බොහෝ පිළිතුරු අත්හදා බැලීමෙන් පසුව, අවසානයේදී මට වැඩ කරන ක්‍රියා පටිපාටිය මට හමු විය. යමෙකුට සංකීර්ණ භාවිත නඩුවක් සමඟ කටයුතු කිරීමට සිදුවුවද එය සම්පූර්ණ ත්‍රෙඩ් එක හරහා යාමට අවශ්‍ය නැතිනම් එය බෙදා ගැනීමට මට අවශ්‍යය . Gitcredentials-store යනාදිය .

මම යෝජනා ක්රියා පටිපාටිය පහත සොයා නම් ඔබ (මා වැනි) විවිධ පරිශීලක නාමය / රහස් පදය සංයෝජන කිහිපයක් භාවිතා කිහිපයක් සපයන්නන් (GitLab, GitHub, Bitbucket, ආදිය) සිට නිධි කිහිපයක් සමග කටයුතු කිරීමට සිදු වේ. ඔබට ඒ වෙනුවට වැඩ කිරීමට ඇත්තේ එක් ගිණුමක් පමණක් නම්, පෙර පිළිතුරු වලින් ඉතා හොඳින් පැහැදිලි කර ඇති git config --global credential.helper storeහෝ git config --global user.name "your username"වෙනත් විසඳුම් භාවිතා කිරීමට වඩා හොඳ විය හැකිය .

මගේ විසඳුම:

  1. කිසියම් පෙර අත්හදා බැලීමක් සිදු වුවහොත් ගෝලීය අක්තපත්‍ර සහායකයා සකසන්න :)

> git config --global --unset credentials.helper

  1. ඔබේ ගබඩාවේ මූල නාමාවලිය වෙත ගොස් දේශීය අක්තපත්‍ර සහායකයා අක්‍රීය කරන්න (අවශ්‍ය නම්)

> cd /path/to/my/repo

> git config --unset credential.helper

  1. ඔබේ ගබඩාවේ අක්තපත්‍ර ගබඩා කිරීමට ගොනුවක් සාදන්න

> git config credential.helper 'store --file ~/.git_repo_credentials'

සටහන : මෙම විධානය මඟින් ".git_repo_credentials" නමින් නව ගොනුවක් ඔබගේ නිවාස නාමාවලියට ඇතුල් කරයි, එමඟින් Git ඔබේ අක්තපත්‍ර ගබඩා කරයි. ඔබ ගොනු නාමයක් සඳහන් නොකරන්නේ නම්, Git සුපුරුදු ".git_credentials" භාවිතා කරයි. මෙම අවස්ථාවේදී සරලවම පහත විධානය නිකුත් කිරීම සිදු කරනු ඇත:

> git config credential.helper store

  1. ඔබේ පරිශීලක නාමය සකසන්න

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" වෙත ගබඩා කර ඇති අතර පසුකාලීන ප්‍රවේශයන්හිදී එකම දත්ත ස්වයංක්‍රීයව භාවිතා කරයි.


2

රයිෆ්‍රොල්, ලිනක්ස් උබුන්ටු පිළිබඳ අදහස් දැක්වීමේ සිට, මෙම පිළිතුරෙන් , උබුන්ටු හි ඇති ආකාරය මෙන්න:

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

තවත් සමහර ඩිස්ට්‍රෝ ද්විමය සපයන බැවින් ඔබට එය තැනීමට අවශ්‍ය නැත.

ඕඑස් එක්ස් හි එය සාමාන්‍යයෙන් "ඔක්ස්කිචේන්" හි පෙරනිමි මොඩියුලයක් සමඟ "ගොඩනගා" ඇති බැවින් ඔබට එය නොමිලේ ලැබේ.

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.