যদি আমি গিথুবটিতে হোস্ট করা কোনও প্রকল্প কাঁটা করি। আমি কি সব শাখা কাঁটাচামচ করি? আমার কাঁটাচামচটি কোন শাখার উপর ভিত্তি করে আমি কীভাবে জানতে পারি? অন্য কথায় আমার পিসিতে কোন শাখাটি ডাউনলোড হবে?
যদি আমি গিথুবটিতে হোস্ট করা কোনও প্রকল্প কাঁটা করি। আমি কি সব শাখা কাঁটাচামচ করি? আমার কাঁটাচামচটি কোন শাখার উপর ভিত্তি করে আমি কীভাবে জানতে পারি? অন্য কথায় আমার পিসিতে কোন শাখাটি ডাউনলোড হবে?
উত্তর:
গিটহাবের সমস্ত শাখা কাঁটাচামচায় অনুলিপি করা হবে। (স্পষ্টতই, এর মধ্যে এমন শাখাগুলি অন্তর্ভুক্ত নয় যেগুলি প্রথমে গিটহাবের দিকে ধাক্কা দেয়নি))
তবে একটি কাঁটাচামচ একটি গিটহাব-টু-গিটহাব অপারেশন; কিছুই আপনার পিসিতে অনুলিপি করা হয় না। এটি গিট ক্লোনটির মতো একরকম নয় । যদি আপনি "আমি কোনও প্রকল্পের ক্লোন করার সময় অনুলিপিটি কি?" জিজ্ঞাসা করার অর্থ যদি করেন তবে ম্যানুয়ালটি দেখুন git-clone(1)
।
এই ভাবে চিন্তা করুন:
রেপো [সিটরি] এক বা একাধিক শাখায় দলের সহযোগিতামূলক কাজের সাথে সম্পর্কিত। সমস্ত অবদানকারীদের এর নিজস্ব কপি রয়েছে।
মূল রেপোটির প্রতিটি কাঁটাচটি করে কোনও অবদানকারীর কাজের সাথে মিল। একটি কাঁটাচামচ সত্যই একটি গিথুব (গিট নয়) আপনার ব্যবহারকারীর অ্যাকাউন্টে রেপোর ক্লোন সংরক্ষণ করার জন্য তৈরি। ক্লোন হিসাবে, আপনি কাঁটাচামচ তৈরি করার সময় এটিতে মূল রেপোতে সমস্ত শাখা থাকবে।
আপনি কীভাবে কাজ করতে চান তার উপর নির্ভর করে কাঁটাচামচ এবং / অথবা প্রধান রেপোর প্রতিটি শাখা বিভিন্ন ধরণের জিনিসের সাথে সামঞ্জস্য করতে পারে। প্রতিটি শাখা প্রকল্পের একটি সংস্করণ উল্লেখ করতে পারে তবে হটফিক্স বা পরীক্ষামূলক কাজের মতো উন্নয়নের বিভিন্ন চ্যানেলের সাথেও মিলিয়ে দিতে পারে।
খিঁচ অনুরোধ (GitHub বাস্তুতন্ত্রের) কাজের অনুরূপ। প্রতিটি সময় আমি প্রধান রেপো একটি বিচ্ছিন্ন সমাপ্ত কাজের অবদান রাখতে চাই, আমি একটি টান অনুরোধ সংশ্লিষ্ট তৈরি করে যে কাজটি তৈরি। এই কমিটগুলি আমার কাঁটাচামচ বা আমার শাখা থেকে প্রধান রেপোতে টানা হয় ।
একটি কমিট কোডে পরিবর্তনগুলির একটি সেট। এটি গিট সম্পর্কে একটি আকর্ষণীয় বিষয়। আপনি ফাইল স্থানান্তর করবেন না, আপনি পরিবর্তন লগ স্থানান্তর।
কাঁটাচামচটি গিটহাবের পাশের একটি ক্লোন (এটি সবকিছুর ক্লোন করে)।
আপনি যখন কোনও রেপো ক্লোন করছেন, আপনি তার সমস্ত শাখাসমূহের সাথে রেডোর সমস্ত ইতিহাস পেয়ে যাবেন।
যদিও আপনি তত্ত্বগতভাবে দূরবর্তী রেপোর ডিফল্ট শাখাটি পরিবর্তন করতে পারেন , গিটহাব রেপো থেকে একটি ক্লোন প্রধানত মাস্টার শাখার সন্ধান করে। "ডিফল্ট" শাখা পরিবর্তন করার অর্থ একটি গিটহাব ক্লোন পাবেন, আপনাকে মাস্টার শাখার নাম পরিবর্তন করতে হবে।
যদি আপনি কোনও প্রকল্প কাঁটাচামড়া করে থাকেন তবে আপনি পুরো প্রকল্পের একটি অনুলিপি আপনার গিট হাব অ্যাকাউন্টে তৈরি করছেন। আপনি আপনার পিসিতে কোনও কিছু কপি করছেন না
আপনার পিসিতে একটি অনুলিপি তৈরি করতে আপনাকে এটি ক্লোন করতে হবে এবং সমস্ত জিনিসগুলি টানতে হবে এবং আপনি সেই প্রকল্পের সমস্ত শাখা এবং কোড পাবেন
আপনি যদি গিথুব ওয়েবসাইট থেকে কোনও প্রকল্পের কাঁটাচামচ তৈরি করেন তবে আপনি প্রবাহ প্রকল্প থেকে সমস্ত শাখা পাবেন।
আপনি যদি আপনার নতুন পাকা কাঁটা থেকে আপনার স্থানীয় পিসিতে ক্লোন করেন তবে আপনার পিসিতে origin
রিমোটটি গিথুবে আপনার কাঁটাচালার মাস্টার শাখার দিকে নির্দেশ করবে।
upstream
শাখা তৈরি করা আপনাকে যা করতে হবে তা হ'ল; এবং তারা আপনাকে বলবে যে এটি কীভাবে করা যায়।
এটি খুব ভালভাবে ব্যাখ্যা করা যেতে পারে। গিটহাবে আপনার কেন্দ্রীয় ভান্ডার রয়েছে। যখনই আপনি কিছু পরিবর্তন করতে ব্যক্তিগত কম্পিউটারে এটির একটি ক্লোন নেন, মূল সংগ্রহস্থলের এই স্থানীয় ক্লোনটিকে কাঁটাচামচ বলা হয়।
শাখাটি কিছু আলাদা এবং কাঁটাচামচ / রেপোতে অন্তর্ভুক্ত। আসলে শাখা হ'ল উন্নয়নের বিভিন্ন পর্যায়ে আপনার কাজ। এগুলি তৈরি করা হয় এবং যখন প্রয়োজন হয় তখন কার্যকারিতার একটি সেট সংরক্ষণ করতে, বিভিন্ন ব্যবহারকারীর অ্যাক্সেস দেওয়ার জন্য, ক্লায়েন্টকে সাইট প্রদর্শন করা ইত্যাদি etc.
আমি কখন একটি শাখা ব্যবহার করি এবং কখন আমরা কাঁটাচামড়া ব্যবহার করি তার একটি বাস্তব জীবনের উদাহরণ ভাগ করতে চাই
আমাদের দোকানে গিটল্যাব রয়েছে এবং কখনও কখনও লারাভেল প্রকল্পের প্যাকেজগুলিতে আমাদের কাজ করতে হয়। আমরা সাধারণত একটি শাখা তৈরি করি এবং সেই শাখায় পরিবর্তনগুলি চাপি যা আমরা আমাদের স্থানীয় ভিএম দেব পরিবেশে প্রকৃত লারাভেল প্রকল্পের সাথে কাজ করার সময় পরীক্ষা করে যাচ্ছি।
ধরা যাক আমাদের প্রকল্পটি অবস্থিত
https://github.com/yardpenalty/mainproject.git
শাখার ব্যবহার:
বলুন শাখাটি বলা হয় It_doesnt_matter
আমরা যখন আমাদের শাখাটি উত্পাদনের জন্য চাই তখন আমরা এই শাখায় আমাদের চূড়ান্ত ধাক্কা দেই এবং একত্রীকরণের অনুরোধ তৈরি করি যা পরে পরীক্ষার জন্য ইউএটিতে যায় O
একত্রীকরণ থেকে It_doesnt_matter
শাখা এখন মাস্টার প্রকল্পে push করা হয়
এ https://github.com/yardpenalty/mainproject.git
ধরা যাক প্যাকেজ প্রকল্পটি অবস্থিত
https://github.com/yardpenalty/mypackage.git
মনে রাখবেন মূল প্রকল্পটি এই প্যাকেজটিকে উত্পাদনে ব্যবহার করে তাই আমরা কেবলমাত্র এই প্যাকেজে তাদের চাপ দিয়ে পরিবর্তন করতে পারি না (অন্যান্য কারণে)। ধরা যাক যে কোনও ওয়েব দেবকে উত্পাদন পরিবর্তন করতে এই প্যাকেজটি সম্পাদনা করতে হবে।
একটি সাধারণ শাখা কাজ করবে না কারণ প্যাকেজ ইত্যাদি প্রকাশ না করে আমরা আমাদের পরিবর্তনগুলি দেখতে পাচ্ছি না
কাঁটাচামচ ব্যবহার: এখন আমাদের প্যাকেজটির সাথে কিছুটা কৌতুক করতে হবে যাতে কাঁটাচামচ দিয়ে উত্পাদন প্যাকেজের ক্লোন তৈরি করি। কম্পোজার.জসন ফাইলগুলি এখন কাঁটাতে চিহ্নিত করার জন্য আপডেট করা যেতে পারে যা এখন ব্যবহারকারী বা গোষ্ঠীর পথে অবস্থিত
সুতরাং আমরা একটি কাঁটাচামচ তৈরি করব https://github.com/yardpenalty/mypackage.git
এবং এটি কল https://github.com/yardpenalty/yards/mypackage.git
এখন আমাদের "ভান্ডারগুলিতে" এই প্যাকেজটির দিকে ইঙ্গিত করার জন্য আমরা আমাদের রচয়িতা জার্সন ফাইল আপডেট করতে পারি : [এই জাতীয় অ্যারে এবং আমরা চলে যাই!
{
"type": "github",
"url": "https://github.com/yardpenalty/yard/mypackage.git"
}
]