রিবেস
Rebase
অন্য শাখা থেকে কমিট প্রয়োগ করে একটি শাখার কমিট ইতিহাস পরিবর্তন করার প্রক্রিয়া। merge
পরিবর্তনগুলিকে একত্রিত করার জন্য ব্যবহার করার পরিবর্তে, মার্জ কমিট তৈরি না করেই rebase
আপনাকে insert
বর্তমান শাখার কমিট ইতিহাসে নতুন কমিট করার অনুমতি দেয়।
উদাহরণস্বরূপ, ধরা যাক আপনার দুটি শাখা আছে: feature-branch
এবং main
. আপনি কাজ করছেন এবং আপনার বর্তমান শাখা feature-branch
থেকে সর্বশেষ প্রতিশ্রুতি প্রয়োগ করতে চান । main
আপনি এটি অর্জন করতে rebase ব্যবহার করতে পারেন:
git checkout feature-branch
git rebase main
আপনি যখন এই কমান্ডটি চালান, গিট থেকে কমিট নেবে main
এবং এগুলি প্রয়োগ করবে feature-branch
। এর মানে হল যে সমস্ত কমিটগুলি থেকে feature-branch
কমিট করার পরে উপস্থিত হবে main
৷ ফলাফল একটি পরিষ্কার এবং আরো পঠনযোগ্য প্রতিশ্রুতি ইতিহাস feature-branch
.
যাইহোক, রিবেস ব্যবহার করার সময়, এটা মনে রাখা গুরুত্বপূর্ণ যে কমিট ইতিহাস পরিবর্তন করা সর্বজনীনভাবে ভাগ করা শাখাগুলিকে প্রভাবিত করতে পারে। অতএব, যদি আপনি ইতিমধ্যেই আপনার বর্তমান শাখা থেকে একটি দূরবর্তী সংগ্রহস্থলে কমিটগুলিকে ঠেলে দিয়ে থাকেন, তবে সাধারণত বিরোধ এবং একটি অগোছালো প্রতিশ্রুতি এড়াতে সেই শাখায় রিবেস ব্যবহার না করার পরামর্শ দেওয়া হয়।
Branch
সুইচিং
গিটে শাখা পরিবর্তন বলতে এক শাখা থেকে অন্য শাখায় যাওয়ার প্রক্রিয়াকে বোঝায়। আপনি যখন শাখাগুলি পরিবর্তন করেন, গিট HEAD পয়েন্টারটিকে নতুন শাখায় নিয়ে যায়, আপনাকে সেই শাখায় কাজ করতে এবং অন্যান্য শাখাগুলিকে প্রভাবিত না করে পরিবর্তন করতে দেয়।
উদাহরণস্বরূপ, ধরা যাক আপনার শাখা আছে feature-branch
এবং main
. তে স্যুইচ করতে feature-branch
, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করবেন:
git checkout feature-branch
শাখা স্যুইচ করার পরে, আপনি কাজের ডিরেক্টরিতে পরিবর্তন করতে পারেন। সমস্ত commit
, add
, এবং checkout
কমান্ড বর্তমান শাখায় প্রযোজ্য হবে।
উদাহরণস্বরূপ, যদি আপনি একটি নতুন ফাইল যোগ করেন এবং এটি তে কমিট করেন feature-branch
, শুধুমাত্র সেই শাখায় কমিট থাকবে, যখন এটি main
প্রভাবিত হবে না। এটি আপনাকে আলাদা বৈশিষ্ট্যগুলি বিকাশ করতে, বাগগুলি ঠিক করতে বা কোডের বিভিন্ন সংস্করণে স্বাধীনভাবে কাজ করতে দেয়৷ প্রতিটি শাখায় আলাদাভাবে কাজ করার প্রয়োজন হলে আপনি শাখাগুলির মধ্যে পরিবর্তন করতে পারেন।