সংক্ষেপে: সেরা অনুশীলনটি শাখা থেকে বেরিয়ে আসে, প্রায়শই মার্জ হয় এবং সর্বদা সিঙ্কে থাকে ।
মাস্টার শাখা থেকে পৃথক শাখায় আপনার কোড রাখার বিষয়ে বেশ পরিষ্কার কনভেনশন রয়েছে:
- আপনি বড় বা বিঘ্নিত পরিবর্তন কার্যকর করতে চলেছেন
- আপনি এমন কিছু পরিবর্তন আনতে চলেছেন যা সম্ভবত ব্যবহার করা যাবেনা
- আপনি এমন কোনও কিছুতে পরীক্ষা করতে চান যা আপনি নিশ্চিত না যে এটি কার্যকর হবে
- যখন আপনাকে শাখা ছাড়তে বলা হবে, তখন অন্যের কাছে মাস্টার করার জন্য তাদের কিছু প্রয়োজন থাকতে পারে
থাম্বের বিধিটি শাখা ছাড়ার পরে, আপনার মাস্টার শাখার সাথে সুসংগত রাখা উচিত। কারণ শেষ পর্যন্ত আপনাকে এটিকে আবার মাস্টারটিতে মার্জ করা দরকার। পিছনে মার্জ হওয়ার সময় বিবাদগুলির বিশাল জটিল জঞ্জাল এড়াতে আপনার প্রায়শই প্রতিশ্রুতিবদ্ধ হওয়া উচিত, প্রায়শই মার্জ হওয়া উচিত।
অনুসরণ করতে ভাল অনুশীলন
একটি সফল গীত শাখাবিন্যাস মডেল দ্বারা ভিনসেন্ট Driessen ভাল পরামর্শ রয়েছে। যদি এই শাখা প্রশাখার মডেল আপনার কাছে আবেদন করে তবে গিট প্রবাহের প্রসারকে বিবেচনা করবে । অন্যরা প্রবাহ সম্পর্কে মন্তব্য করেছেন ।
ট্যাগিং অনুশীলন
আপনি ইতিমধ্যে জানেন, গিট আপনাকে 1.0-2-g1ab3183 এর মতো সনাক্তকারী প্রতিশ্রুতি দেয় তবে সেগুলি ট্যাগ নয়! গিট ট্যাগ দিয়ে ট্যাগিং করা হয়, এবং গিট ট্যাগ ব্যবহার করে যে ট্যাগগুলি তৈরি করা হয় সেগুলি গিট তৈরির বিবরণ দেওয়ার জন্য ভিত্তি identif অন্য কথায়, গিতে আপনি শাখাগুলি ট্যাগ করবেন না। আপনি কমিটগুলি ট্যাগ করছেন। এটা বলা ঠিক যে ট্যাগটি একটি প্রতিশ্রুতিবদ্ধতার জন্য কেবল একটি টীকা নির্দেশক।
এটি প্রদর্শিত যে ব্যবহারিক উদাহরণ তাকান,
/ - [ভি 1.0]
বনাম
---. ---। --- .--- এস ---.--- এ <- মাস্টার
\
\ -.--- বি <- পরীক্ষা
'V1.0' ট্যাগ দ্বারা নির্দেশিত এস এর প্রতিশ্রুতিবদ্ধ করা যাক। এই কমিট শাখা 'মাস্টার' এবং শাখা 'পরীক্ষা' উভয়ই। যদি আপনি কমিট 'এ' ('মাস্টার' শাখার শীর্ষ) শীর্ষে " গিট বর্ণন " চালান তবে আপনি এরকম কিছু পাবেন v1.0-2-g9c116e9
। যদি আপনি কমিট 'এ' (ওরফে 'পরীক্ষা' শাখা) শীর্ষে "গিট বর্ণনামূলক" চালনা করেন তবে আপনি এমন কিছু পাবেন v1.0-2-g3f55e41
যেটি ডিফল্ট গিট-বর্ণনা কনফিগারেশনের ক্ষেত্রে। মনে রাখবেন যে এই ফলাফলটি কিছুটা আলাদা। v1.0-2-g9c116e9
এর অর্থ হ'ল আমরা 9c116e9
ট্যাগের পরে কমিট করে 2 টির, সংক্ষিপ্ত SHA-1 আইডি দিয়ে প্রতিশ্রুতিবদ্ধ v1.0
। কোনও ট্যাগ নেই v1.0-2
!
আপনি যদি চান যে আপনার ট্যাগটি কেবল শাখার 'মাস্টার' এ প্রদর্শিত হয়, আপনি 'পরীক্ষা' শাখার শাখার শাখার পরে নতুন প্রতিশ্রুতি তৈরি করতে পারেন (যেমন GIT-সংস্করণ-ফাইলে কেবল ডিফল্ট / ফলব্যাক সংস্করণ তথ্য আপডেট করুন)। যদি আপনি 'v1.0.3` যেমন' পরীক্ষা 'শাখায় কমিট করে ট্যাগ করেন তবে এটি কেবল' পরীক্ষা 'থেকে দৃশ্যমান হবে।
তথ্যসূত্র
আমি শিখতে অনেকগুলি, অনেকগুলি দরকারী ব্লগ এবং পোস্ট পেয়েছি। তবে, যা পেশাদারভাবে চিত্রিত হয় সেগুলি বিরল। সুতরাং, আমি একটি পোস্ট সুপারিশ করতে চাই - @ এনভি দ্বারা একটি সফল গিট ব্রাঞ্চিং মডেল । আমি তার উদাহরণ ধার করেছি :)