একটি প্রকল্পের আলাদা সংযোগ দরকার বলেই গ্লোবাল Git প্রক্সি লাগে না। বিদ্যমান চেকআউটের নিজস্ব স্থানীয় কনফিগারেশন আছে, তাই বদলটি ওই রিপোজিটরিতে রাখতে পারেন।

উদাহরণগুলো বর্তমান git config set/get/unset কমান্ড ব্যবহার করে। প্রকল্পের ডিরেক্টরি, রিমোট URL ও নথির IP বদলে নেওয়ার নমুনা। পাবলিক প্রক্সি অনুমোদিত এমন পাবলিক রিপোজিটরির পরীক্ষায় HTTP প্রক্সির তালিকা থেকে প্রার্থী বাছুন।

git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin

প্রক্সি URL-এ পরিবহনের স্কিম থাকে। HTTPS রিমোটও CONNECT সমর্থিত সাধারণ HTTP প্রক্সি ব্যবহার করতে পারে; রিমোটের HTTPS স্কিম প্রক্সি URL-কে HTTPS-এ বদলানো বাধ্যতামূলক করে না।

Git আসলে কী বেছেছে দেখুন

ফল অপ্রত্যাশিত হলে আসল রিমোট URL-এর জন্য নির্বাচিত মান দেখুন:

git -C project config get --show-origin \
  --url=https://example.com/team/project.git http.proxy

কোয়েরিতে নিজের আসল HTTPS রিমোট দিন। Git-এর সিস্টেম, ব্যবহারকারী, রিপোজিটরি, কমান্ড-লাইন ও URL-নির্দিষ্ট সেটিং থাকতে পারে। শুধু গ্লোবাল http.proxy মান দেখলে আরও নির্দিষ্ট নিয়ম বাদ পড়তে পারে। উৎসের আউটপুট ফলটির পেছনের ফাইল বা কমান্ড-লাইন উৎস চেনায়।

স্থানীয় সেটিং রিপোজিটরি থেকে HTTP-ভিত্তিক প্রবেশে প্রযোজ্য, শুধু একটি ব্রাঞ্চে নয়। তাই একাধিক HTTP রিমোট থাকলে প্রথম পরীক্ষিতটির বাইরেও ব্যবহৃত হতে পারে। পরিসর সংকীর্ণ করতে URL-নির্দিষ্ট HTTP সেটিং আছে।

চেকআউট তৈরি হওয়ার আগে

প্রথম ক্লোনে ওভাররাইড স্থায়ী হবে কি না বাছুন; শুধু ওই Git কলের জন্য সীমিত রাখতে ব্যবহার করুন:

git -c http.proxy=http://203.0.113.10:8080 \
  clone https://example.com/team/project.git

কমান্ড-লাইন ওভাররাইড নিজে থেকে নতুন চেকআউটে স্থায়ী কনফিগারেশন এন্ট্রি হয় না। পরের fetch-এ এই পথ চাইলে পরে স্থানীয় মান সেট করুন।

SSH রিমোট আলাদা বিষয়

git@host: বা ssh:// দিয়ে শুরু রিমোট SSH ব্যবহার করে। Git-এর HTTP প্রক্সি সেটিং তাকে HTTP স্থানান্তরে বদলায় না। শুধু SSH কাজ এখনও ব্যর্থ বলে সচল প্রক্সি IP বদলানোর আগে রিমোটের পরিবহন দেখুন।

স্থানীয় ওভাররাইড আর দরকার না হলে শুধু ওই কী সরান:

git -C project config unset --local http.proxy

সরালে অন্য উৎসের প্রযোজ্য কনফিগারেশন আবার কার্যকর হয়। এটি কম্পিউটারের সব প্রক্সি সেটিং মুছে ফেলার কমান্ড নয়।

সম্পর্কিত নিবন্ধ