আমি উইন্ডোজের জন্য গিট শংসাপত্র ব্যবস্থাকে কীভাবে অক্ষম করব?


170

আমি লক্ষ্য করেছি যে গিটের সর্বশেষতম সংস্করণে, ডিফল্ট এখন প্রতিবার বাশ প্রম্পটে আমাকে পাসওয়ার্ড দেওয়ার অনুরোধ না করে একটি "উইন্ডোজের জন্য গিট ক্রেডেনসিয়াল ম্যানেজার" ডায়ালগ পপআপ করে।

আমি সত্যিই এই আচরণ ঘৃণা করি। আমি কীভাবে এটি অক্ষম করতে পারি এবং প্রতিবার বা শেলের পাসওয়ার্ডটি প্রবেশ করতে ফিরে যেতে পারি?

প্রসঙ্গক্রমে, আমি গীত আমার পরিচয়পত্র ক্যাশে চাই না কোন ভাবেই , কিনা উইন্ডোজ প্রমাণীকরণ বা কিছু অভ্যন্তরীণ ডেমন মাধ্যমে। আমি সমস্ত শংসাপত্রের ক্যাশে অক্ষম করতে চাই ।

উত্তর:


211

ঠিক আছে, আমি আবিষ্কার করেছি যে আপনি উইন্ডো ইনস্টলারের জন্য গিট চলাকালীন "গিট ক্রেডেনসিয়াল ম্যানেজার" চেকবাক্সটি এড়াতে হবে , বা (ইনস্টলেশন শেষে) প্রশাসক হিসাবে বাশ শেলটি চালান এবং লাইনটি git config --edit --systemসরিয়ে ফেলতে ব্যবহার করবেন helper = managerযাতে এটি আর নিবন্ধিত না হয় একটি শংসাপত্র সহায়ক।

বোনাস পয়েন্টের জন্য, ব্যবহার করুন git config --edit --globalএবং সন্নিবেশ করুন:

[core]
    askpass =

ওপেনএসএসএইচ শংসাপত্রগুলি পপআপকে অক্ষম করতে।


19
উত্তর দেওয়ার জন্য আপনাকে ধন্যবাদ। আমার জন্য, এই প্রথম সম্পাদকটি ব্যবহার করা হয়েছিল। আপনি যদি পরিবর্তনগুলি সংরক্ষণ করতে চান তবে এস্কেপ কীটি চাপুন এবং টাইপ করুন: ডাব্লিউকিউ এবং হিট এন্টার (লিখুন / সংরক্ষণ করুন এবং প্রস্থান করুন)।
বেন বেসুইজন

1
অনেক ধন্যবাদ! শংসাপত্রের পরিচালকটি আমার কাজের প্রক্সি সার্ভারের সাথে বিভ্রান্ত হয়ে পড়ে এবং এটি সোর্সট্রির সাথে কাজ করা একটি দুঃস্বপ্ন। এটি অক্ষম করা অবিলম্বে সমস্যার সমাধান করে।
জনি 18

1
এবং যদি: ডাব্লিউকিউ আমার ক্ষেত্রে সিআরটিএল + জেড ব্যবহার বন্ধ না করে ছেড়ে দেওয়ার জন্য কাজ করে তবে এগুলি সম্ভবত পরে একাধিক ব্যাকআপ ফাইল তৈরি করবে
আদিম

37
অথবা এটি দিয়ে নক আউট করুনgit config --system --unset credential.helper
বেন বাটজার

4
সোর্সট্রি ব্যবহারকারীদের জন্য নিশ্চিত হয়ে নিন যে জিআইটি-র "সিস্টেম" সংস্করণ ব্যবহার হচ্ছে, এম্বেড থাকা নয়। Tools -> Options -> Git
স্টিভানিকাস

30

আমি আনইনস্টল বিকল্পটি ব্যবহার করে উইন্ডোজের জন্য গিট শংসাপত্র ব্যবস্থাপকটি আনইনস্টল করতে সক্ষম হয়েছি:

git-credential-manager.exe uninstall

এই কমান্ডটি চালান C:\Program Files\Git\mingw64\libexec\git-core


1
এটি কেবল স্টল করে এবং আমি git credential [fill|approve|reject]
সিটিআরটিএল

2
@ স্কটএন আপনি চালাচ্ছেন git-credential.exeতবে আপনাকে চালানো দরকার git-credential-manager.exe
এডান রায়ান

13

ভিএসটিএস এর সাথে আমাকে আরও একটি বিকল্প ব্যবহার করতে হয়েছিল:

git config credential.modalprompt false --global


3
ধন্যবাদ! আমার প্রোডাকশন সার্ভারে দূর থেকে সংযোগ করতে এসএসএস ব্যবহার করার সময় আমি এটি খুব দরকারী বলে মনে করেছি: git pullডাব্লুসিএম শেলিংয়ের কারণে আমি এটি করতে পারিনি । এই বিকল্পের সাথে আমি উভয় পৃথিবী উপভোগ করি: যখন ডাব্লুসিএম সার্ভারের সাথে (বা রিমোট ডেস্কটপ সহ) শারীরিকভাবে সংযুক্ত থাকে এবং এসএসএস ক্লায়েন্টের কাছ থেকে টানতে সক্ষম হয়।
সিবিচার্ট

9

এটি আমার পক্ষে কার্যকর হয়নি:

C:\Program Files\Git\mingw64\libexec\git-core
git-credential-manager.exe uninstall

Looking for Git installation(s)...
  C:\Program Files\Git

Updated your /etc/gitconfig [git config --system]
Updated your ~/.gitconfig [git config --global]

Removing from 'C:\Program Files\Git'.
  removal failed. U_U

Press any key to continue...

তবে --forceপতাকাটি দিয়ে এটি কাজ করেছিল:

C:\Program Files\Git\mingw64\libexec\git-core
git credential-manager uninstall --force
08:21:42.537616 exec_cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
e
08:21:42.538616 git.c:576               trace: exec: git-credential-manager uninstall --force
08:21:42.538616 run-command.c:640       trace: run_command: git-credential-manager uninstall --force

Looking for Git installation(s)...
  C:\Program Files\Git

Updated your /etc/gitconfig [git config --system]
Updated your ~/.gitconfig [git config --global]


Success! Git Credential Manager for Windows was removed! ^_^

Press any key to continue...

আমি দৌড়ানোর পরে সেই ট্রেসটি দেখতে পেলাম:

set git_trace=1

এছাড়াও আমি গিট ব্যবহারকারীর নাম যুক্ত করেছি:

git config --global credential.username myGitUsername

তারপর:

C:\Program Files\Git\mingw64\libexec\git-core
git config --global credential.helper manager

শেষ পর্যন্ত আমি এই আদেশটি দিয়েছি:

git config --global credential.modalPrompt false

আমি এসএসএইচ এজেন্ট চলছে কিনা তা পরীক্ষা করে দেখি - এই কমান্ডটি চালানোর জন্য বাশ উইন্ডোটি খুলুন

eval "$(ssh-agent -s)"

তারপরে কম্পিউটার ব্যবহারকারী / আপনার নাম ফোল্ডারে যেখানে .ssh রয়েছে সেখানে একটি সংযোগ যুক্ত করুন (এখনও ব্যাশে):

ssh-add .ssh/id_rsa

or

ssh-add ~/.ssh/id_rsa(if you are not in that folder)

আমি উপরে যে সমস্ত সেটিংস যুক্ত করেছি তা পরীক্ষা করেছিলাম:

C:\Program Files\Git\mingw64\libexec\git-core
git config --list
09:41:28.915183 exec_cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-cor
e
09:41:28.917182 git.c:344               trace: built-in: git config --list
09:41:28.918181 run-command.c:640       trace: run_command: unset GIT_PAGER_IN_USE; LESS=FRX LV=-c less
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
credential.modalprompt=false
credential.username=myGitUsername

এবং যখন আমি git pushআবার করেছি তখন আমাকে কেবল প্রথমবারের জন্য ব্যবহারকারীর নাম এবং পাসওয়ার্ড যুক্ত করতে হয়েছিল।

git push
Please enter your GitHub credentials for https://myGithubUsername@github.com/
username: myGithubUsername
password: *************
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 316 bytes | 316.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.

তার পর থেকে git push, আমার আর আমার গিট শংসাপত্রগুলি প্রবেশ করার বার্তা নেই।

D:\projects\react-redux\myProject (master -> origin) (budget@1.0.0)
λ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 314 bytes | 314.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/myGitUsername/myProject.git
   8d38b18..f442d74  master -> master

এই সেটিংসের পরে আমি বার্তাটি সহ একটি ইমেল পেয়েছি:

 A personal access token (git: https://myGitHubUsername@github.com/
on LAP0110 at 25-Jun-2018 09:22) with gist and repo scopes was recently added
to your account. Visit https://github.com/settings/tokens for more information.

6

আমার সমস্যা ছিল এবং আমি কেবল গিট-শংসাপত্র-ম্যানেজার.অ্যাক্সি ফাইলটি এখান থেকে সরিয়েছি :

C:\Program Files\Git\mingw64\libexec\git-core

6

আমি সাধারণ ব্যবহারের জন্য শংসাপত্র ব্যবস্থাপক ব্যবহার করতে চেয়েছিলাম, তবে আমার কাছে এমন স্ক্রিপ্ট রয়েছে যেখানে আমি স্পষ্টতই কোনও প্রম্পট চাই না git.exe। এইভাবে আমি আমার স্ক্রিপ্টগুলি থেকে গিটকে অনুরোধ করছি:

set GIT_TERMINAL_PROMPT=0
git -c core.askpass= -c credential.helper= <command> ...

এইভাবে, স্ক্রিপ্টটি কোনও কনফিগারেশন মানিয়ে না নিয়ে সর্বদা "সঠিক" নো-প্রম্পট সেটিংটি দেখে।

(উইন্ডোজ 2.13.3 এর জন্য গিট)


আমি যে ভিন্নতাটি দেখতে পেয়েছি তা সম্ভবত কার্যকর হয়ে উঠতে পারে:

set GCM_INTERACTIVE=never
# Or: git config --global credential.interactive never

set GIT_TERMINAL_PROMPT=0
git.exe -c core.askpass= -c credential.helper=manager <command> ...

তবে মনে রাখবেন যে এটি কার্যকর git.exe -c credential.interactive=never <command> ... হয় না (এটি মনে হয় যে -cজিনিসটি উইন্ডোজের জন্য গিট ক্রেডেনসিয়াল ম্যানেজারের কাছে বা যাই হোক না কেন) ted

এইভাবে, আপনি GCMfW ব্যবহার করতে পারেন, তবে এটি আপনাকে কখনই প্রম্পট করবে না; এটি কেবল শংসাপত্রগুলি অনুসন্ধান করবে যা অ-ইন্টারেক্টিভ পরিবেশে খুব সহায়ক হতে পারে।


5

ব্যবহার করুন:

C:\Program Files\Git\mingw64\libexec\git-core                                                                       
git credential-manager uninstall --force    

এটি উইন্ডোজ সিস্টেমে কাজ করে। আমি এটি পরীক্ষা করেছি এবং এটি আমার পক্ষে কাজ করেছে।


3

সমস্যা হতে পারে সোর্সট্রি

  1. সরঞ্জামসমূহবিকল্পগুলিতে যান

  2. "প্রতি [10] মিনিটে আপডেটের জন্য ডিফল্ট রিমোটগুলি পরীক্ষা করুন" আনচেক করুন

  3. সোর্সট্রি পুনরায় চালু করুন!


1

এবং যদি: ডাব্লিউকিউ আমার ক্ষেত্রে সিআরটিএল + জেড ব্যবহার বন্ধ না করে ছেড়ে দেওয়ার জন্য কাজ করে তবে এগুলি সম্ভবত পরবর্তী সময়ে একাধিক ব্যাকআপ ফাইল তৈরি করবে - আদিম জানুয়ারী 19, 9:14 এ

প্রশাসক হিসাবে গিট চালাতে ভুলবেন না! অন্যথায় ফাইলটি সংরক্ষণ করা হবে না (আমার ক্ষেত্রে)।


1

আমি একই বিষয়টিকে উবুন্টু 18.10 (কসমিক ক্যাটলফিশ) এ আঘাত করেছি, কোনও সাধারণ উপায় ব্যবহার করে অপসারণ করতে অক্ষম। আমি ব্যবহার করেছি git config --global --unset credential.helper, এবং এটি কৌশলটি মনে হয়েছিল।


1

"ব্যবহারকারীর" ফোল্ডার সি: // ব্যবহারকারীর অধীনে, ".gitconfig" ফাইলটি দেখুন তারপরে http এবং প্রক্সি লাইনটি সরিয়ে দিন।


1

কথোপকথনটির ব্যবহার রোধ করতে git config --global credential.modalPrompt false, এটি কনসোলে অনুসন্ধানগুলি চালাবে


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.