উন্নত গিট টিউটোরিয়াল

উন্নত গিট টিউটোরিয়াল

একটি দূরবর্তী সংগ্রহস্থলের মাধ্যমে আপনার প্রকল্পটি স্থাপন করা আপনাকে এর প্রতিটি অংশ নমনীয়ভাবে পরিচালনা করতে দেয়। বাগ সংশোধন, বৈশিষ্ট্য আপডেট, ফাইল মুছে ফেলা, টিমওয়ার্ক, ওপেন-সোর্স অবদান, কোড স্থাপন এবং আরও অনেক কিছু এখন আপনার নখদর্পণে গিটের শক্তিশালী জ্ঞানের সাথে।





সুতরাং, আপনি গিট ব্যবহার করছেন কিন্তু আরো জানতে চান? এখানে আরও কিছু উন্নত গিট টিপস রয়েছে যা আপনার প্রকল্প সংস্করণকে একটি বাতাস নিয়ন্ত্রণ করবে।





গিট শাখা

একটি গিট শাখা আপনাকে সরাসরি শাখার দিকে ধাক্কা দিতে বাধা দেয়। আপনি ডেভেলপারদের একটি দলের সাথে একটি প্রকল্প পরিচালনা করলে এটি সহায়ক। আপনি যত খুশি গিট শাখা তৈরি করতে পারেন এবং পরে সেগুলিকে মাস্টার শাখায় মার্জ করতে পারেন।





একটি গিট শাখা তৈরি করুন

একটি গিট শাখা তৈরি করতে, ব্যবহার করুন:

git branch branch_name

একটি গিট শাখায় যান

ব্যবহার করুন চেকআউট একটি গিট শাখায় স্যুইচ করতে:



git checkout branch_name

একটি শাখায় স্যুইচ করার পরে, আপনি ব্যবহার করে আপনার পরিবর্তনগুলি পর্যায়ক্রমে করতে পারেন git add -all । তারপর তাদের ব্যবহার করে গিট কমিট -এম 'কমিট নাম' কমান্ড

একটি শাখার সাথে মাস্টারের তুলনা করুন

ব্যবহার git diff কমান্ড:





git diff master..branch_name

নির্দিষ্ট ফাইল তুলনা করতে:

git diff master..testb -- main.html

দুটি শাখার তুলনা করা আপনি মাস্টারের সাথে একটি শাখার তুলনা করার অনুরূপ:





git diff branch1..branch2

দুটি শাখার মধ্যে একটি নির্দিষ্ট ফাইলের পার্থক্য দেখতে:

git diff branch1..branch2 -- main.html

একটি দূরবর্তী শাখায় পরিবর্তনগুলি চাপান

আপনি হয়তো অন্য ডেভেলপারকে আপনার স্থানীয় শাখায় একটি ফাইলে যে পরিবর্তনগুলি করেছেন সেগুলি সরাসরি দেখার আগে দেখতে চান। একটি ভাল অভ্যাস হল আপনার স্থানীয় গিট শাখাটিকে দূরবর্তী প্রতিরূপে নিয়ে যাওয়া যাতে তারা দেখতে পারে।

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

আপনি তারপর শাখাগুলির দূরবর্তী সংস্করণে সেই পরিবর্তনগুলি ধাক্কা দিতে পারেন:

git push origin changes

পুল অনুরোধের সাহায্যে দূরবর্তী শাখাটি মাস্টারের সাথে একত্রিত করুন

তাই অন্য প্রোগ্রামার দূরবর্তী শাখায় পরিবর্তনগুলি নিরীক্ষা করেছেন ( পরিবর্তন )। কিন্তু আপনি এটিকে মাস্টার শাখার সাথে একীভূত করতে চান এবং এটিকে সরাসরি ঠেলে দিতে চান।

মনে রাখবেন যে আপনার দূরবর্তী শাখা আপনার স্থানীয় গিট শাখার নাম উত্তরাধিকারসূত্রে পেয়েছে ( পরিবর্তন )। পরিবর্তনগুলি কীভাবে একত্রিত করা যায় তা এখানে:

মাস্টার শাখায় যান:

git checkout master

শাখার উৎপত্তি বা প্রধান টানুন ( পরিবর্তন ) এটিকে মাস্টার শাখার সাথে একীভূত করতে:

git pull origin changes

এই মার্জ লাইভকে মাস্টার শাখায় ঠেলে দিন:

git push origin master

পরিবর্তে গিট মার্জ ব্যবহার করুন

ব্যবহার করে মাস্টারের সাথে একটি শাখা মার্জ করতে যাওয়া কমান্ড:

মাস্টার শাখায় স্থানান্তর করুন:

git checkout master

এটি শাখার সাথে মার্জ করুন ( পরিবর্তন ):

git merge changes

তারপর মার্জ লাইভকে মাস্টার শাখায় ঠেলে দিন:

কিভাবে একটি ভিডিও ফাইল অকার্যকর করা যায়
git push origin master

আপনি প্রতিস্থাপন নিশ্চিত করুন পরিবর্তন আপনার শাখার নাম সহ।

একবার একটি মার্জ সফল হলে, আপনি তারপর করতে পারেন স্থানীয়ভাবে এবং দূর থেকে শাখাটি মুছুন যদি আপনার আর প্রয়োজন না হয়:

সম্পর্কিত: কীভাবে গিটের একটি শাখার নাম পরিবর্তন করবেন

গিট রিবেস

যদি আপনার পুরনো কমিটের সাথে একাধিক শাখা থাকে, তাহলে আপনি রিবেস বা ফোকাস করতে পারেন মাথা/রেফারেন্স উত্তরাধিকারসূত্রে প্রাপ্ত সেই শাখার মধ্যে মাথা/রেফারেন্স একটি আপডেট করা।

অতএব, যখন আপনি একটি বর্তমানের ভিত্তির সাথে কিছু শাখা আপডেট করতে চান তখন পুনর্বাসন কাজে আসে।

রিবাসিং একটি ঘন ঘন পদক্ষেপ হওয়া উচিত নয়, যদিও, বিশেষ করে যদি আপনি একটি দলের সাথে কাজ করছেন কারণ এটি পুরো কর্মপ্রবাহকে ব্যাহত করতে পারে। কিন্তু যদি আপনি একা কাজ করেন এবং আপনি আপনার কর্মপ্রবাহ এবং শাখাগুলির সাথে পরিচিত হন, তাহলে আপনি কোথায় এবং কীভাবে এটি ব্যবহার করবেন তা যদি জানা থাকে তবে পুনর্বাসন ধ্বংস করা উচিত নয়।

উদাহরণস্বরূপ, ধরে নিন যে আপনার দুটি শাখা আছে; শাখা 1 এবং শাখা 2। এখন, আপনি কিছু সময়ের জন্য শাখা 1 তে কোন পরিবর্তন করেননি। কিন্তু আপনি ধারাবাহিকভাবে শাখা 2 তে পরিবর্তন করেছেন, যার মধ্যে রয়েছে সম্প্রতি।

সুতরাং আপনি প্রবাহের সাথে শাখা 1 বহন করার সিদ্ধান্ত নিয়েছেন। অতএব, শাখা 1 কে শাখা 2 এ পুনর্বহাল করার অর্থ হল আপনি শাখা 1 কে তার পূর্ববর্তী প্রতিশ্রুতিগুলি উপেক্ষা করতে এবং শাখা 2 এ সাম্প্রতিক প্রতিশ্রুতি উত্তরাধিকারী করতে বলছেন।

আপনি কীভাবে এটি করতে পারেন তা এখানে:

পরিত্যক্ত শাখায় যান (শাখা 1):

git checkout branch1

তারপর শাখা 1 কে আপডেট করা শাখা 2 তে পুনর্বিন্যাস করুন:

git rebase branch2

গিট স্কোয়াশ

গিট স্কোয়াশ আপনাকে একাধিক কমিটকে একের মধ্যে একত্রিত করতে দেয়। আপনি যখন চালান তখন এটি সাহায্য করে গিট কমিট একক আপডেটে অনেকবার। একটি ব্যবহারিক উদাহরণ হল যখন প্রতিটি বাগ ফিক্স বা একক বৈশিষ্ট্যের জন্য কোড রিফ্যাক্টরের আলাদা কমিট থাকে।

কিন্তু আপনি হয়তো সহকর্মীদের সাথে হেড কমিটকে ধাক্কা দিতে চান না কারণ তাদের সবার উদ্দেশ্য একই। ট্র্যাকিং কমিট করার সময় বিভ্রান্তি এড়াতে তাদের একটিতে স্কোয়াশ করা একটি প্রস্তাবিত পদ্ধতি।

স্কোয়াশ কমিট করার সর্বোত্তম উপায় হল ইন্টারেক্টিভ রিবেস মোডের মাধ্যমে। এটি আরও ভালভাবে বুঝতে নীচের উদাহরণটি দেখুন।

এই উদাহরণে, ধরে নিন আপনার পাঁচটি বাগ ফিক্স আছে। এবং তাদের প্রত্যেকের জন্য একটি প্রতিশ্রুতি আছে। এখানে কিভাবে আপনি এই পাঁচটি কমিটকে স্কোয়াশ করতে পারেন:

দৌড় git reflog আপনার কমিটের হ্যাশ কোড দেখতে:

git reflog

এই ক্ষেত্রে ফলাফল এখানে:

এখন আপনার লক্ষ্য শেষ পাঁচটি কমিট স্কোয়াশ করা, যা দিয়ে শুরু প্রথম ঠিক করা পর্যন্ত পঞ্চম সংশোধন

এটি করার জন্য, নীচের কমিটের হ্যাশ কোডটি অনুলিপি করুন প্রথম ঠিক করা ( 0a83962 )। তারপর টিপুন প্রশ্ন ছেড়ে দিতে রিফ্লগ

এখন দৌড় git rebase -ইন্টারেক্টিভ সেই হ্যাশে।

git rebase --interactive 0a83962

গিট তারপর একটি ইন্টারেক্টিভ রিবেস ফাইল খোলে যা এইরকম দেখাচ্ছে:

কমিটগুলি বাদ দিয়ে প্রথম ঠিক করা , প্রতিস্থাপন করুন বাছাই সঙ্গে গুলি অন্য প্রতিশ্রুতি জন্য প্রতিটি:

এই ফাইলটি সংরক্ষণ করুন এবং বন্ধ করুন।

স্কোয়াশড কমিটের নাম পরিবর্তন করার জন্য আপনার জন্য আরেকটি ফাইল খোলে:

ওয়্যারলেস নেটওয়ার্ক সংযোগের একটি বৈধ আইপি কনফিগারেশন উইন্ডোজ 7 নেই

সেগুলি পরিষ্কার করুন এবং স্কোয়াশড কমিটের জন্য একটি পছন্দের নাম টাইপ করুন:

সেই ফাইলটি সংরক্ষণ করুন। তারপরে এটি বন্ধ করুন এবং আপনার টার্মিনালে একটি সাফল্যের বার্তা পাওয়া উচিত।

বিঃদ্রঃ: ইন্টারেক্টিভ ফাইলটি টার্মিনালের মধ্যে খুলতে পারে। কিন্তু আপনি যদি উইন্ডোজে থাকেন, তাহলে স্কোয়াশ করা সহজ করার জন্য আপনি আপনার টার্মিনালকে বিশ্বব্যাপী আপনার প্রিয় টেক্সট এডিটরের কাছে ফাইল খুলতে বাধ্য করতে পারেন।

এটি করার জন্য, আপনার কমান্ড লাইনটি খুলুন এবং চালান:

git config --global core.editor ''path to choice text editor' -n -w'

গিট ফর্ক বনাম গিট ক্লোন

ফিকিং এবং ক্লোনিং গিটের দুটি ভিন্ন পদ। আপনি আপনার সংগ্রহস্থলটি কাঁটাতে পারবেন না কারণ এটি ইতিমধ্যে আপনার সাথে রয়েছে। যাইহোক, আপনি অন্য মানুষের সংগ্রহস্থল কাঁটাচামচ করতে পারেন এবং পরে এটি ক্লোন করতে পারেন।

একটি সংগ্রহস্থল তৈরি করার অর্থ হল আপনি কারও সংগ্রহস্থলের একটি অনুলিপি দখল করছেন এবং এটি আপনার তৈরি করছেন। একবার আপনি সেই সংগ্রহস্থলের একটি অনুলিপি পেয়ে গেলে, আপনি এটিকে ক্লোন করতে পারেন যেমনটি আপনি আপনার গিট সংগ্রহস্থলগুলির স্থানীয় পরিবর্তনগুলির জন্য করতে পারেন।

এখানে কিভাবে একটি দূরবর্তী সংগ্রহস্থল ক্লোন GitHub এ এবং আপনার স্থানীয় ডিরেক্টরিতে একটি ডাউনলোড শুরু করুন:

git clone https://github.com/username/repository_name.git/

একটি ফাইলকে তার ডিফল্ট অবস্থায় ফিরিয়ে আনুন

যদি আপনি শেষ প্রতিশ্রুতির পরে একটি ফাইলের পরিবর্তনগুলি সাফ করতে চান, তাহলে আপনি git পুনরুদ্ধার কমান্ড:

git restore filename

কমিট সংশোধন করুন

আপনি কিছু ফাইল স্টেজ করার সময় পরিবর্তন করতে ভুলে গেলে আপনি আগের কমিটের দিকে ফিরে যেতে পারেন।

আপনি যে ফাইলটি ভুলে গেছেন তার পরিবর্তন করুন। তারপর ব্যবহার করুন git সংশোধন প্রতিশ্রুতি পর্যালোচনা করতে:

git add file_forgotten
git commit --amend

আনস্টেজ ফাইল

আপনি নির্দিষ্ট ফাইলগুলি সরাতে পারেন যা আপনি একটি কমিট ব্যবহার করে মঞ্চস্থ করেছেন rm যান কমান্ড:

git rm --cached filename

আপনি একবারে বেশ কয়েকটি ফাইল মুছে ফেলতে পারেন:

git rm --cached file1 file2 file3 file4

আপনি যে ফাইলটি ছাড় করছেন তার সাথে প্রাসঙ্গিক ফাইল এক্সটেনশন যুক্ত করতে ভুলবেন না। উদাহরণস্বরূপ, একটি সাধারণ পাঠ্য ফাইল হওয়া উচিত filename.txt

সম্পর্কিত: কীভাবে গিট পরিষ্কার করবেন এবং আনট্র্যাকড ফাইলগুলি সরান

গিট রিসেট

ব্যবহার git রিসেট যদি আপনি একবারে প্রতিশ্রুতির জন্য যে সমস্ত ফাইলগুলি মঞ্চস্থ করেন তা ফেলে দিতে চান তাহলে সহায়ক হবে:

git reset

গিট রিসেট হেড, তবে, একটি শাখার হেডকে আপনার কাজের গাছের একটি নির্দিষ্ট কমিটের দিকে নির্দেশ করে। উদাহরণস্বরূপ, যদি আপনি এখনও আপনার বর্তমান প্রতিশ্রুতিটি ধাক্কা না দেন, তবে আপনি সম্প্রতি ধাক্কা দেওয়া প্রতিশ্রুতিতে ফিরে আসতে পারেন:

git reset --soft HEAD~1

প্রতিস্থাপন করুন -নরম সঙ্গে -শক্ত আপনি যদি ইতিমধ্যে বর্তমান কমিটকে ধাক্কা দিয়ে থাকেন:

git reset --hard HEAD~1

ফিরে যান

থেকে ভিন্ন রিসেট আদেশ, ফিরে যান আপনার কমিট ইতিহাসের সততা বজায় রাখে। আপনি যদি ত্রুটি বা বাগের কারণে কমিট সংশোধন করতে চান তবে এটি সহজ।

এটি লক্ষ্য প্রতিশ্রুতি পরিত্যাগ করে না বা একটি নতুন করে না। পরিবর্তে, এটি এমন একটি প্রতিশ্রুতি মুছে ফেলার বা নাম পরিবর্তন না করে আপনার করা সাম্প্রতিক পরিবর্তনগুলিতে ফিরে আসে। আপনার প্রতিশ্রুতিগুলি পরিষ্কার রাখার এটি একটি দুর্দান্ত উপায়, এবং এটি সর্বদা রিসেট করার চেয়ে নিরাপদ।

প্রতিশ্রুতিতে ফিরে যেতে:

git revert HEAD~1

কোথায় হেড ~ 1 আপনার কাজের গাছের একটি নির্দিষ্ট প্রতিশ্রুতি নির্দেশ করে।

একটি ট্র্যাক করা ফাইল বা একটি ডিরেক্টরি মুছুন

তুমি ব্যবহার করতে পার git rm -f আপনার ওয়ার্কিং ট্রি থেকে ট্র্যাক করা যেকোন ফাইল মুছে দিতে। তবে মনে রাখবেন, গিট ট্র্যাক করা ফাইলগুলি সরাতে পারে না, কারণ এটি তাদের ক্যাশে করে না।

একটি মঞ্চিত ফাইল মুছে ফেলার জন্য:

git rm -f filename

একটি মঞ্চিত ফোল্ডার অপসারণ করতে:

git rm -r -f foldername

গিট লগিং

গিটে আপনার কমিট লগ এবং ইতিহাস দেখতে:

git log

একটি নির্দিষ্ট শাখায় কার্যক্রম লগ ইন করতে:

git log branch_name

সম্পর্কিত: গিট লগ দিয়ে কীভাবে একটি প্রকল্পের ইতিহাস পরিদর্শন করবেন

কখনও কখনও আপনি একটি পরিত্যক্ত প্রতিশ্রুতিতে ফিরে যেতে চাইতে পারেন। সুতরাং পরিত্যক্ত কমিটগুলি দেখতে, প্রাসঙ্গিকগুলি সহ:

git reflog

একটি নির্দিষ্ট শাখার জন্য রেফারেন্স লগ দেখতে:

git reflog branch_name

গিট সহ প্রো এর মতো আপনার প্রকল্পের সংস্করণগুলি পরিচালনা করুন

গিট অনেক সুবিধা প্রদান করে, আপনি আপনার প্রধান শাখায় অন-প্রাইম ফাইল এবং ফোল্ডারগুলি চুরি না করে আপনার প্রকল্পের রিলিজগুলি দূর থেকে পরিচালনা করতে পারেন। উপরন্তু, এটি আপনাকে একটি দলের সাথে সহজেই প্রকল্পগুলি চালাতে দেয়।

আপনি যেমন দেখেছেন, গিটের অনেক বৈশিষ্ট্য রয়েছে যা আপনি অন্বেষণ করতে পারেন। কিন্তু এই বৈশিষ্ট্যগুলি উদ্দেশ্যমূলকভাবে ব্যবহার করতে সতর্ক থাকুন। অন্যথায়, আপনি জিনিসগুলি ভেঙে ফেলতে পারেন। যে বলেন, আপনি এখনও একটি ডেমো দূরবর্তী সংগ্রহস্থল স্পিন এবং এই বৈশিষ্ট্য সঙ্গে চারপাশে খেলতে পারেন।

শেয়ার করুন শেয়ার করুন টুইট ইমেইল Git দিয়ে একজন প্রোগ্রামারের মত আপনার ফাইল ভার্সন পরিচালনা করুন

প্রোগ্রামাররা ফাইল সংস্করণ নিয়ন্ত্রণ সমস্যা সমাধানের জন্য ভার্সন কন্ট্রোল সিস্টেম (ভিসিএস) তৈরি করেছেন। আসুন আজকের শীর্ষ সিস্টেম, গিট ব্যবহার করে সংস্করণ নিয়ন্ত্রণের মূল বিষয়গুলি দেখি।

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • ওয়েব ডেভেলপমেন্ট
  • গিটহাব
  • কোডিং টিউটোরিয়াল
লেখক সম্পর্কে ইডিসু ওমিসোলা(94 নিবন্ধ প্রকাশিত)

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

Idowu Omisola থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন