আপনি git remote set-url কমান্ড ব্যবহার করে একটি Git রিমোট URL পরিবর্তন করতে পারেন। যে রিপোজিটরির রিমোট URL আপনি পরিবর্তন করতে চান সেটিতে নেভিগেট করুন এবং তারপর এই কমান্ডটি এক্সিকিউট করুন। set-url কমান্ড দুটি আর্গুমেন্ট গ্রহণ করে: রিমোট নাম এবং নতুন রিপোজিটরি URL।
আপনি কি একটি রিমোট Git রিপোজিটরির নাম পরিবর্তন করেছেন? আপনি কি একটি রিমোট রিপোজিটরি অন্য লোকেশনে মুভ করছেন? এই দুটি অপারেশনই একটি Git রিপোজিটরির URL পরিবর্তন করবে। এটি আপনার রিমোট রিপোজিটরির যেকোনো রেফারেন্স ব্রেক করবে।
চিন্তা করবেন না! git remote set-url কমান্ড এখানে রক্ষা করার জন্য। এই কমান্ড আপনাকে একটি রিমোট রিপোজিটরির URL পরিবর্তন করতে দেয়।
এই গাইডে, আমরা git remotes কী এবং কীভাবে আপনি একটি git remote পরিবর্তন করতে পারেন তা আলোচনা করব। আপনাকে শুরু করতে সাহায্য করার জন্য একটি উদাহরণের মাধ্যমে হাঁটব।
Git Remote কী?
একটি Git remote হলো একটি পয়েন্টার যা আপনার লোকাল রিপোজিটরির ভার্সনকে একটি রিমোট রিপোজিটরির সাথে লিঙ্ক করে।
Git একটি ডিস্ট্রিবিউটেড ভার্সন কন্ট্রোল সিস্টেম। এর মানে একাধিক ডেভেলপার তাদের নিজস্ব মেশিনে একটি প্রজেক্টের নিজস্ব কপি রাখতে পারে। আপনি একটি রিপোজিটরিতে যা পরিবর্তন করবেন সেটি অন্য ডেভেলপারদের দ্বারা অ্যাকসেসযোগ্য হবে যখন আপনি সেগুলো একটি রিমোট সার্ভারে পুশ করবেন।
একটি Git রিপোজিটরির সাথে একাধিক রিমোট লিঙ্ক করা থাকতে পারে। অধিকাংশ রিপোজিটরির শুধু একটি রিমোট থাকে। একাধিক রিমোটযুক্ত রিপোজিটরিগুলো সাধারণত আলাদা ডেভেলপমেন্ট এনভায়রনমেন্ট যেমন টেস্টিং, স্টেজিং বা প্রোডাকশনের সাথে লিঙ্ক করা থাকে।
আপনি যখন একটি রিপোজিটরির নাম পরিবর্তন করেন বা এটিকে অন্য হোস্টিং প্ল্যাটফর্মে মুভ করেন, তবে আপনাকে আপনার রিমোট URL আপডেট করতে হবে।
git remote set-url কমান্ড একটি রিপোজিটরির সাথে জড়িত Git রিমোট পরিবর্তন করে। এই কমান্ড রিমোটের নাম (যা সাধারণত "origin") এবং নতুন রিমোট URL গ্রহণ করে যেটিতে আপনি রিপোজিটরিকে পয়েন্ট করতে চান।
চলুন একটি রিপোজিটরিতে নেভিগেট করি:
cd Projects/git-submodule-tutorial
এখন যেহেতু আমরা একটি Git রিপোজিটরিতে আছি, আমরা এর রিমোটস পরিবর্তন করা শুরু করতে পারি। আমরা আমাদের বিদ্যমান রিমোট চেক করব যেন দেখতে পাই কী সেট করা আছে git remote -v ব্যবহার করে:
git remote -v
এই কমান্ড রিটার্ন করে:
origin https://github.com/Career-Karma-Tutorials/git-submodule-tutorial (fetch)
origin https://github.com/Career-Karma-Tutorials/git-submodule-tutorial (push)
আমাদের একটি রিমোট আছে যাকে "origin" বলা হয়। এই রিমোট কোড ফেচ করতে এবং রিমোট রিপোজিটরিতে কোড পুশ করতে উভয়ই ব্যবহৃত হয়। আপনি একই আউটপুট দেখবেন এই কমান্ড রান করলে যদি আপনার প্রজেক্টের জন্য একাধিক রিমোট সেট না থাকে।
আমরা এই রিপোজিটরির রিমোটকে git-submodule-এ পরিবর্তন করব। কারণ আমরা আমাদের রিপোজিটরির নাম GitHub-এ পরিবর্তন করেছি। আপনি git remote set-url কমান্ড ব্যবহার করে একটি রিমোট পরিবর্তন করতে পারেন:
git remote set-url origin https://github.com/Career-Karma-Tutorials/git-submodule
"origin" उस রিমোটের নামকে রেফার করে যের URL আমরা পরিবর্তন করতে চাই। আমরা যে URL স্পেসিফাই করেছি সেটি প্রজেক্টের নতুন URL।
আপনি রিমোট হিসেবে হয় HTTP বা SSH URL স্পেসিফাই করতে পারেন। উদাহরণস্বরূপ, আমরা আমাদের লিংককে এখানে একটি SSH URL-এ পরিবর্তন করতে পারি:
git remote set-url origin git@github.com:Career-Karma-Tutorials/git-submodule.git
এটি "origin" রিমোটকে একটি SSH URL-এ পয়েন্ট করবে।
আমরা git remote -v কমান্ড ব্যবহার করে নতুন রিমোট URL ভেরিফাই করতে পারি:
git remote -v origin
আমাদের রিমোটস পরিবর্তন হয়েছে:
origin git@github.com:Career-Karma-Tutorials/git-submodule.git (fetch)
"Career Karma আমার জীবনে ঢুকেছিল যখন আমার সেটি সবচেয়ে বেশি দরকার ছিল এবং দ্রুত একটি বুটক্যাম্পের সাথে মিলিয়ে দিয়েছিল। গ্র্যাজুয়েট হওয়ার দুই মাস পর আমি আমার স্বপ্নের চাকরি পেয়েছিলাম যা আমার মূল্যবোধ এবং লক্ষ্যের সাথে মিলে যেত!"
— ভেনাস, সফটওয়্যার ইঞ্জিনিয়ার, রকবট
origin git@github.com:Career-Karma-Tutorials/git-submodule.git (push)
আমরা করলাম!
রিমোট ম্যানুয়ালি পরিবর্তন করুন
আপনি আপনার ওয়ার্কিং ডিরেক্টরির ভিতরে একটি Git রিপোজিটরির কনফিগ ফাইল মডিফাই করে একটি রিমোট ম্যানুয়ালি পরিবর্তন করতে পারেন। এই অ্যাপ্রোচ প্র্যাক্টিক্যাল যদি আপনি একটি Git রিপোজিটরির কনফিগারেশনে একাধিক পরিবর্তন করতে যান।
আপনার Git রিপোজিটরির .git/config ফাইল খুলুন। তারপর নিচে স্ক্রোল করুন যতক্ষণ না [remote "origin"] লাইন পাওয়া যায়:
[remote "origin"] url = git@github.com:Career-Karma-Tutorials/git-submodule.git fetch = +refs/heads/*:refs/remotes/origin/*
আমরা এই কোডটি পরিবর্তন করে "origin" রিমোট মডিফাই করতে পারি। একবার আপনি যেকোনো পরিবর্তন করলে, আপনি ফাইলটি সেভ করতে পারেন।
Git কমান্ড ব্যবহার করে একটি রিমোট পরিবর্তন করা সেরা। কারণ আপনি যদি ম্যানুয়ালি কনফিগারেশন ফাইল আল্টার করেন তবে মিসটেক করার রিস্ক বেশি।
fatal: No such remote ‘[name]’
আপনি একটি রিপোজিটরির রিমোট পরিবর্তন করার চেষ্টা করলে fatal: No such remote ‘[name]’ এরর এনকাউন্টার করতে পারেন:
fatal: No such remote ‘[name]’
এই এরর ঘটে যখন আপনি একটি রিমোটের URL পরিবর্তন করার চেষ্টা করেন যা এক্সিস্ট করে না। এই এরর সমাধান করতে, নিশ্চিত করুন যে আপনি সঠিকভাবে সেই রিমোটের নাম টাইপ করেছেন যের URL আপনি পরিবর্তন করতে চান।
উপসংহার
আপনি git remote set-url কমান্ড ব্যবহার করে একটি Git রিপোজিটরির রিমোট URL পরিবর্তন করতে পারেন। আপনি একটি রিপোজিটরির .git/config ফাইল মডিফাই করে একটি রিমোট URL মডিফাই করতে পারেন।
এখন আপনি Git ব্যবহার করে রিমোট পরিবর্তন করার জন্য প্রস্তুত যেন একজন এক্সপার্ট!
Git সম্পর্কে আরও জানতে, আমাদের সম্পূর্ণ How to Learn Git গাইড পড়ুন।