এই পোস্টটি হ'ল একটি গিট চিট শীট যা সর্বাধিক সাধারণ গিট কমান্ডগুলি সহ আপনি সম্ভবত প্রতিদিনের ভিত্তিতে ব্যবহার করবেন।
আপনি যদি বিকাশকারীদের পাশাপাশি কাজ করার কোনও প্রযুক্তিগত পরীক্ষক হন তবে আপনার প্রাথমিক গিট কমান্ডগুলির সাথে পরিচিত হওয়া উচিত।
QA হিসাবে আপনাকে প্রতিদিন ভিত্তিতে চালিত করার জন্য এই পোস্টটিতে যথেষ্ট গিট জ্ঞান রয়েছে।
আপনি যদি নিজের মেশিনে গিট ইনস্টল না করে থাকেন তবে আপনি ভিতরে থাকা পদক্ষেপগুলি অনুসরণ করতে পারেন কীভাবে ম্যাকের উপর গিট ইনস্টল করবেন এবং এসএসএইচ কী তৈরি করবেন ।
একটি খালি গিট রেপো তৈরি করুন বা বিদ্যমানটিকে পুনরায় সূচনা করুন
$ git init
Foo নামে একটি নতুন ডিরেক্টরিতে foo রেপো ক্লোন করুন:
$ git clone https://github.com//foo.git foo
আপনি যখন কোনও নতুন বৈশিষ্ট্যে কাজ করতে চান, আপনি সাধারণত গিটে একটি নতুন শাখা তৈরি করেন। এই হিসাবে, আপনি সাধারণত মাস্টার শাখা থেকে দূরে থাকতে চান এবং নিজের বৈশিষ্ট্য শাখায় কাজ করতে চান যাতে মাস্টার সর্বদা পরিষ্কার থাকে এবং আপনি এ থেকে নতুন শাখা তৈরি করতে পারেন।
একটি নতুন শাখা তৈরি করতে ব্যবহার করুন:
$ git checkout -b
যদি আপনি জানতে চান যে আপনার কার্যনির্বাহী ডিরেক্টরিতে কোন শাখাগুলি পাওয়া যায়, তবে ব্যবহার করুন:
$ git branch
উদাহরণ আউটপুট:
develop my_feature master
আপনি যখন একটি নতুন শাখা তৈরি করেন তখন গিট স্বয়ংক্রিয়ভাবে নতুন শাখায় স্যুইচ হয়।
আপনার যদি একাধিক শাখা থাকে তবে আপনি সহজেই গিট চেকআউট সহ শাখাগুলির মধ্যে স্যুইচ করতে পারেন:
$ git checkout master $ git checkout develop $ git checkout my_feature
একটি স্থানীয় শাখা মুছতে:
$ git branch -d
| _ _ + _ | ব্যবহার করুন এটি জোর করতে বিকল্প পতাকা।
মূলতে একটি দূরবর্তী শাখা মুছতে:
-D
সম্পর্কিত:
প্রতি মঞ্চ একটি ফাইল কেবল এটি একটি অঙ্গীকারের জন্য প্রস্তুত করা হয়। আপনি যখন কিছু ফাইল যুক্ত বা সংশোধন করেন তখন আপনাকে সেই পরিবর্তনগুলি মঞ্চস্থ করতে হবে area এমন একটি বাক্স হিসাবে মঞ্চায়নের কথা ভাবুন যেখানে আপনার বিছানার নীচে জিনিসগুলি রাখার আগে আপনি জিনিসগুলি রাখেন, যেখানে আপনার বিছানাটি আপনি আগে প্রবেশ করানো বাক্সগুলির একটি ভাণ্ডার।
মঞ্চে বা ফাইলগুলিকে যুক্ত করতে আপনাকে গিট অ্যাড কমান্ড ব্যবহার করতে হবে to আপনি পৃথক ফাইল মঞ্চ করতে পারেন:
$ git push origin :
বা সমস্ত ফাইল একসাথে:
$ git add foo.js
আপনি যদি মঞ্চ থেকে একটি নির্দিষ্ট ফাইল সরাতে চান:
$ git add .
বা সমস্ত স্টেজযুক্ত ফাইলগুলি সরান:
$ git reset HEAD foo.js
আপনি একটি কমান্ডের জন্য একটি উপনাম তৈরি করতে পারেন এবং তারপরে এটি গিট দিয়ে ব্যবহার করতে পারেন:
$ git reset HEAD .
আপনি যদি দেখতে চান যে কোন ফাইলগুলি তৈরি করা হয়েছে, পরিবর্তন হয়েছে বা মুছে ফেলা হয়েছে, গিট স্ট্যাটাস আপনাকে একটি প্রতিবেদন দেখাবে show
$ git config --global alias.unstage 'reset HEAD' $ git unstage .
প্রায়শই প্রতিশ্রুতিবদ্ধ করা একটি ভাল অনুশীলন। ধাক্কা দেওয়ার আগে আপনি সর্বদা আপনার প্রতিশ্রুতিগুলি স্কোয়াশ করতে পারেন। আপনি আপনার পরিবর্তনগুলি করার আগে আপনার সেগুলি করা দরকার stage
কমিট কমান্ডের জন্য একটি -m বিকল্পের প্রয়োজন যা কমিট বার্তাটি নির্দিষ্ট করে।
আপনি আপনার পরিবর্তনগুলি যেমন প্রতিশ্রুতিবদ্ধ করতে পারেন:
$ git status
নিম্নলিখিত কমান্ডটি আপনার সাম্প্রতিক প্রতিশ্রুতি পূর্বাবস্থায় ফিরে আসবে এবং সেই পরিবর্তনগুলি আবার মঞ্চায়িত করবে, যাতে আপনি কোনও কাজ হারাবেন না:
$ git commit -m 'Updated README'
প্রতিশ্রুতি সম্পূর্ণরূপে মুছতে এবং কোনও পরিবর্তনগুলি ব্যবহার করে ফেলে দিতে:
$ git reset --soft HEAD~1
ধরা যাক আপনার 4 টি কমিট রয়েছে তবে আপনি এখনও কিছুই ঠেকেন নি এবং আপনি সবকিছুকে একটি প্রতিশ্রুতিতে রাখতে চান, তারপরে আপনি ব্যবহার করতে পারেন:
$ git reset --hard HEAD~1
| $ git rebase -i HEAD~4
সর্বশেষ চারটি কমিটকে বোঝায়।
| HEAD~4
বিকল্পটি একটি ইন্টারেক্টিভ পাঠ্য ফাইল খুলবে।
আপনি প্রতিটি অঙ্গীকারের বাম দিকে 'বাছাই' শব্দটি দেখতে পাবেন। উপরের অংশে একা রেখে যান এবং অন্য সকলকে স্কোয়াশের জন্য 'গুলি' দিয়ে প্রতিস্থাপন করুন, ফাইলটি সংরক্ষণ করুন এবং বন্ধ করুন।
তারপরে আর একটি ইন্টারেক্টিভ উইন্ডোটি খোলে যেখানে আপনি আপনার প্রতিশ্রুতি বার্তাগুলিকে একটি নতুন কমিট বার্তায় আপডেট করতে পারবেন।
আপনি আপনার পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ করার পরে, এরপরে একটি দূরবর্তী সংগ্রহস্থলের দিকে ধাক্কা।
প্রথমবারের জন্য একটি স্থানীয় শাখা পুশ করুন:
-i
এর পরে, আপনি কেবল ব্যবহার করতে পারেন
$ git push --set-upstream origin
স্থানীয় শাখাটিকে একটি অন্য প্রত্যন্ত শাখায় ঠেলাতে, আপনি ব্যবহার করতে পারেন:
$ git push
আপনার যদি আপনার শেষ ধাক্কাটি পূর্বাবস্থায় ফেরাতে হয় তবে আপনি ব্যবহার করতে পারেন:
$ git push origin :
আপনি যখন | _ _ + _ | ব্যবহার করেন, গিট আপনার বর্তমান শাখার সাথে অন্য অঙ্গীকারগুলি মিশে না। এটি বিশেষত কার্যকর যদি আপনার নিজের সংগ্রহস্থলটি আপ টু ডেট রাখার প্রয়োজন হয় তবে আপনি এমন কিছু নিয়ে কাজ করছেন যা আপনি যদি ফাইলগুলি আপডেট করেন তবে ভেঙে যেতে পারে।
কমিটিকে আপনার মাস্টার শাখায় সংহত করতে, আপনি | _ _ _ _ | ব্যবহার করেন।
$ git reset --hard HEAD~1 && git push -f origin master
পুলিং কেবল মার্জটি করছে যা তার পরে মার্জ করে। আপনি | _ _ + _ | ব্যবহার করার পরে, গিট আপনাকে প্রথমে পর্যালোচনা না করেই স্বয়ংক্রিয়ভাবে অন্যান্য কমিটগুলিকে মার্জ করে। আপনি যদি নিজের শাখাগুলি ঘনিষ্ঠভাবে পরিচালনা না করেন তবে আপনি প্রায়শই দ্বন্দ্বের মধ্যে পড়তে পারেন।
আপনার যদি | _ _ _ _ | নামে একটি শাখা থাকে এবং আপনি যে শাখাটি টানতে চান, আপনি এটি ব্যবহার করতে পারেন:
git fetch
অথবা, আপনি যদি সমস্ত কিছু এবং অন্যান্য সমস্ত শাখা টানতে চান তবে
merge
আপনি যখন চালাবেন $ git fetch upstream
| আপনার হেড শাখাটি একটি উত্পন্ন করবে নতুন প্রতিশ্রুতি , প্রতিটি প্রতিশ্রুতিবদ্ধ ইতিহাসের পূর্বপুরুষ সংরক্ষণ।
দ্য ওভারশুট একটি শাখার পরিবর্তনকে অন্য শাখায় পুনরায় লেখায় ছাড়া একটি নতুন প্রতিশ্রুতি তৈরি।
git pull
বা রিবেস বিকল্প সহ, আপনি ব্যবহার:
my_feature
$ git pull origin/my_feature
কখনও কখনও আপনি একটি শাখায় পরিবর্তন করেন এবং আপনি অন্য একটি শাখায় স্যুইচ করতে চান তবে আপনি নিজের পরিবর্তনগুলি হারাতে চান না।
আপনি আপনার পরিবর্তনগুলি স্ট্যাশ করতে পারেন। আপনি গিতে কীভাবে স্ট্যাশ করেন তা এখানে রয়েছে:
$ git pull
এখন, আপনি যদি এই পরিবর্তনগুলি আনস্ট্যাশ করতে চান এবং এগুলিকে আপনার ওয়ার্কিং ডিরেক্টরি ব্যবহার করতে চান তবে:
git merge