গিট পুশ কমান্ড একটি রিপোজিটরির আপনার স্থানীয় সংস্করণ একটি দূরবর্তী সংগ্রহস্থলে আপলোড করে। পুশিং হল সেই প্রক্রিয়া যার মাধ্যমে আপনি দূরবর্তী সংগ্রহস্থলে পরিবর্তন আপলোড করেন। একবার আপনি আপনার পরিবর্তনগুলি পুশ করলে, একটি প্রকল্পের সমস্ত সহযোগীরা সেগুলি ডাউনলোড করতে পারে৷৷
আপনার কোডকে দূরবর্তী সংগ্রহস্থলে পুশ করা হল গিট রিপোজিটরিতে আপনার করা পরিবর্তনগুলিকে "সংরক্ষণ" করার চূড়ান্ত পর্যায়৷
পুশিং প্রক্রিয়া আপনার স্থানীয় সংগ্রহস্থল থেকে কোড স্থানান্তর করে - আপনার কম্পিউটার - দূরবর্তী সংগ্রহস্থলে যার সাথে আপনার স্থানীয় কোড যুক্ত। এটি আপনাকে একটি কোডবেসে করা পরিবর্তনগুলিকে একটি প্রকল্পের প্রধান সংগ্রহস্থলে সংরক্ষণ করতে দেয়৷
এই টিউটোরিয়ালটি উদাহরণ সহ, পুশিং কোডের মূল বিষয়গুলি এবং কীভাবে গিট পুশ কমান্ড ব্যবহার করতে হয় তা নিয়ে আলোচনা করবে। এই টিউটোরিয়ালটি পড়ার শেষে, আপনি গিট পুশ কমান্ড ব্যবহার করে কোড পুশ করার বিষয়ে বিশেষজ্ঞ হয়ে উঠবেন।
পুশিং কোড
গিটে, "সংরক্ষণ" পরিবর্তনগুলি একটি ফাইল সংরক্ষণ করার মতো সহজ নয়। আপনি যখন একটি Git সংগ্রহস্থলে একটি ফাইল সংরক্ষণ করেন, তখন পরিবর্তনগুলি আপনার কম্পিউটারে সংরক্ষণ করা হবে। কিন্তু, আপনার পরিবর্তনগুলি গিট সংগ্রহস্থল দ্বারা ট্র্যাক করা হবে না। আপনাকে গিটকে বলতে হবে যে আপনার পরিবর্তনগুলি ট্র্যাক করা উচিত।
পরিবর্তনগুলি ট্র্যাক করতে, আপনাকে প্রথমে গিট অ্যাড কমান্ড ব্যবহার করতে হবে, যা স্টেজিং এলাকায় আপনার কোড যোগ করে। তারপর, আপনি একটি প্রতিশ্রুতিতে করা পরিবর্তনগুলি সংরক্ষণ করতে গিট কমিট কমান্ড ব্যবহার করতে পারেন।
একবার আপনি আপনার কোড একটি সংগ্রহস্থলে প্রতিশ্রুতিবদ্ধ হলে, আপনার করা পরিবর্তনগুলির একটি রেকর্ড ট্র্যাক করা হবে। আপনি যদি রিমোট রিপোজিটরিতে আপনার প্রতিশ্রুতিগুলি দেখাতে চান তবে আপনি একটি প্রতিশ্রুতি তৈরি করার পরে আপনাকে আপনার কোডটি পুশ করতে হবে৷
পুশিং কোড আপনাকে রিপোজিটরির স্থানীয় সংস্করণে আপনার করা প্রতিশ্রুতিগুলিকে একটি দূরবর্তী সংগ্রহস্থলে পাঠাতে দেয়। উদাহরণস্বরূপ, আপনি যদি একটি টিম প্রকল্পে কাজ করছেন, আপনি প্রথমে আপনার স্থানীয় মেশিনে একটি প্রতিশ্রুতি তৈরি করবেন। একবার আপনি আপনার কোড দেখার জন্য সকলের জন্য প্রস্তুত হয়ে গেলে, আপনি এটিকে দূরবর্তী সংগ্রহস্থলে ঠেলে দেবেন যাতে প্রতিটি সহযোগী আপনার কোড দেখতে পারে৷
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।
কিভাবে গিট পুশ কমান্ড ব্যবহার করবেন
গিট পুশ কমান্ড আপনার স্থানীয় পরিবর্তনগুলিকে রিপোজিটরিতে রিমোট রিপোজিটরিতে আপলোড করে। আপনার আপলোড করা পরিবর্তনগুলি সমস্ত প্রকল্প সহযোগীদের কাছে অ্যাক্সেসযোগ্য করা হবে যাতে তারা দেখতে এবং ডাউনলোড করতে পারে৷
৷এক অর্থে, গিট পুশ হল গিট ফেচের বিপরীত। গিট ফেচ কমান্ডটি রিমোট রিপোজিটরিতে করা পরিবর্তনগুলি পুনরুদ্ধার করতে ব্যবহৃত হয়। আনয়ন কমান্ড আপনার একটি সংগ্রহস্থলের স্থানীয় অনুলিপিতে সেই পরিবর্তনগুলি প্রয়োগ করে৷
গিট পুশ কমান্ডের সিনট্যাক্স নিম্নরূপ:
git push <remote name> <branch name>
আমাদের "রিমোট নেম" প্যারামিটার সেই রিপোজিটরিকে বোঝায় যেখানে আপনার কোড পুশ করা উচিত। আপনি যদি ইতিমধ্যেই একটি সংগ্রহস্থল কনফিগার করে থাকেন, তাহলে এটি "উৎস" এ সেট করা হবে। আপনি যদি অন্য রিপোজিটরিতে প্রতিশ্রুতিবদ্ধ করতে চান তবে আপনি "রিমোট নাম" প্যারামিটার ব্যবহার করে এটি নির্দিষ্ট করতে পারেন।
"শাখা" নামের প্যারামিটারটি দূরবর্তী সংগ্রহস্থলের শাখাকে বোঝায় যেখানে আপনি আপনার পরিবর্তনগুলিকে ঠেলে দিতে চান৷
ধরুন আমরা একটি স্থানীয় সংগ্রহস্থল থেকে একটি দূরবর্তী সংগ্রহস্থলের "মাস্টার" শাখায় পরিবর্তনগুলি ঠেলে দিতে চাই। আমরা এই কমান্ডটি ব্যবহার করে তা করতে পারি:
git push origin master
কমান্ডটি ফিরে আসে:
Counting objects: 4, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (4/4), 363 bytes | 363.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0) To https://github.com/jamesgallagher432/demo-repository.git 3b16026..b53b22d master -> master
এই উদাহরণের জন্য, আমাদের রিমোট রিপোজিটরি গিটহাবে সংরক্ষণ করা হয়। আমরা আমাদের স্থানীয় সংগ্রহস্থলে যে পরিবর্তনগুলি করেছি তা আমাদের প্রকল্পের সাথে যুক্ত দূরবর্তী গিটহাব সংগ্রহস্থলে পুশ করা হয়৷
এখন যেহেতু আমরা আমাদের পরিবর্তনগুলি পুশ করেছি, আমাদের স্থানীয় মেশিনের কোডটি আমাদের দূরবর্তী সংগ্রহস্থলের কোডের মতোই। আমাদের কোড রিমোট রিপোজিটরিতে পাওয়া যায় তাই আমাদের দলের সদস্যরা আমাদের করা পরিবর্তনগুলি দেখতে সক্ষম হবে।
বিকল্পভাবে, যদি আমরা আমাদের কোডটি "v1.9" শাখায় পুশ করতে চাই, তাহলে আমরা "master" এর পরিবর্তে "v1.9" শাখার নাম উল্লেখ করতে পারতাম।
গিট পুশ ফোর্স
আপনি যখন গিট পুশ কমান্ড লাইন অপারেশন ব্যবহার করছেন, তখন আপনি পরিবর্তনগুলিকে একটি দূরবর্তী সংগ্রহস্থলে পুশ করার জন্য জোর করতে চাইতে পারেন।
রিপোজিটরির দূরবর্তী এবং স্থানীয় ইতিহাসের মধ্যে বিরোধ থাকলে গিট আপনাকে একটি সংগ্রহস্থলে কোড পুশ করা থেকে বাধা দেয়। যদি একটি দূরবর্তী সংগ্রহস্থলে 10টি কমিট থাকে যা আপনার স্থানীয় মেশিনে প্রতিফলিত হয় না, আপনি আপনার কোডটি পুশ করতে সক্ষম হবেন না৷
-ফোর্স পতাকা আপনাকে রিপোজিটরিতে করা পরিবর্তনগুলিকে "জোর ধাক্কা" করতে দেয়। ফোর্স ফ্ল্যাগ আপনার রিপোজিটরি থেকে শেষবার কোড টেনে আনার পর হতে পারে এমন কোনো পরিবর্তন মুছে দেয়।
আপনার শুধুমাত্র তখনই –ফোর্স পতাকা ব্যবহার করা উচিত যখন আপনি লক্ষ্য করেন যে আপনি একটি ধাক্কাতে ত্রুটি করেছেন যা আপনি ঠিক করেছেন। অন্যথায়, আপনার এই কমান্ডটি ব্যবহার করা এড়ানো উচিত। এটি নিশ্চিত করতে সাহায্য করবে যে আপনি গিট রিপোজিটরিতে অনিচ্ছাকৃত পরিবর্তন করবেন না।
-ফোর্স পতাকার জন্য সিনট্যাক্স হল:
git push <remote name> <branch name> --force
এই কমান্ডটি আপনার কোডকে জোর করে পুশ করবে। যে কোন ত্রুটি আসতে পারে তা উপেক্ষা করা হবে।
Git Push to Origin Master Example
আসুন একটি সাধারণ দৃশ্যের মধ্য দিয়ে চলুন যেখানে আপনি গিট পুশ কমান্ড ব্যবহার করতে চাইতে পারেন।
ধরুন আপনি আপনার স্থানীয় কোডে কিছু পরিবর্তন করেছেন যা আপনি একটি দূরবর্তী সংগ্রহস্থলে ঠেলে দিতে চান। আপনি ইতিমধ্যে গিট কমিট ব্যবহার করে একটি প্রতিশ্রুতি তৈরি করেছেন যাতে আপনার পরিবর্তনগুলি সংরক্ষণ করা হয়। আপনার কোড পুশ করার জন্য, আপনাকে কয়েকটি ধাপ অনুসরণ করতে হবে।
প্রথমে, আপনাকে আপনার মাস্টার শাখায় নেভিগেট করতে হবে এবং নিশ্চিত করুন যে এটি আপ টু ডেট। স্থানীয় মাস্টার শাখা হল সেই শাখা যেখানে আমরা আমাদের পরিবর্তন করেছি। আপনি প্রধান শাখায় নেভিগেট করতে পারেন:
git checkout master git fetch origin master
গিট চেকআউট কমান্ড আমাদের "মাস্টার" শাখায় নেভিগেট করতে বাধ্য করে। git fetch আমাদের রিমোট রিপোজিটরির সর্বশেষ সংস্করণ পুনরুদ্ধার করতে দেয়।
আমরা মূল সংগ্রহস্থলে আমাদের মাস্টার শাখায় করা পরিবর্তনগুলির সাথে একটি প্রতিশ্রুতি তৈরি করতে পারি:
git add README.md git commit -m "feat: Make changes to README"
আমরা স্টেজিং এরিয়াতে README.md ফাইল যোগ করেছি। আমরা তারপর একটি প্রতিশ্রুতি তৈরি. আমাদের প্রতিশ্রুতি বার্তা হল "কৃতিত্ব:README এ পরিবর্তন করুন"। এই প্রতিশ্রুতি বর্তমানে আমাদের স্থানীয় শাখায় সংরক্ষিত আছে।
তারপর, আমরা আমাদের কোড পুশ করতে গিট পুশ চালাতে পারি:
git push origin master
এই কমান্ডটি চালানোর পরে, আমাদের স্থানীয় সংগ্রহস্থলের কোডটি আমাদের দূরবর্তী সংগ্রহস্থলে পুশ করা হবে। কারণ আমরা আমাদের কোড পুশ করার আগে আমাদের কোড আপ-টু-ডেট ছিল কিনা তা পরীক্ষা করে দেখেছি, গিট পুশ কমান্ডের দ্বারা কোন ত্রুটি ফেরত দেওয়া উচিত নয়।
উপসংহার
গিট পুশ কমান্ডটি স্থানীয় গিট রিপোজিটরি থেকে রিমোট রিপোজিটরিতে পরিবর্তনগুলিকে "ধাক্কা" করতে ব্যবহৃত হয়। কোডবেসে কাজ করছে এমন প্রত্যেকে একবার পুশ করার পরে আপনার অবদানগুলি দেখতে সক্ষম হবে৷
এই টিউটোরিয়ালটি পুশিং কোডের মৌলিক বিষয় এবং কিভাবে গিট পুশ কমান্ড ব্যবহার করতে হয় তা নিয়ে আলোচনা করা হয়েছে। এখন আপনি গিট মাস্টারের মতো দূরবর্তী গিট রিপোজিটরিতে আপনার কোড পুশ করা শুরু করতে প্রস্তুত!