আমি একটি প্রকল্পের কাঁটাচামচ করা এবং clone
এটির মধ্যে কিছু করার মধ্যে পার্থক্যগুলি জানতে চাই ।
আমি যদি কোনও প্রকল্পের জন্য তৈরি করে থাকি তবে আমি কি কেবল গিটহাবের মাধ্যমে টানতে অনুরোধগুলি পাঠাতে পারি?
আমি একটি প্রকল্পের কাঁটাচামচ করা এবং clone
এটির মধ্যে কিছু করার মধ্যে পার্থক্যগুলি জানতে চাই ।
আমি যদি কোনও প্রকল্পের জন্য তৈরি করে থাকি তবে আমি কি কেবল গিটহাবের মাধ্যমে টানতে অনুরোধগুলি পাঠাতে পারি?
উত্তর:
মূলত, হ্যাঁ একজন fork
GitHub প্রকল্প এবং আপনার ব্যবহারকারী নাম নীচে রেজিস্টার ক্লোন করার জন্য শুধু একটি অনুরোধ ; গিটহাব দুটি সংগ্রহস্থলের মধ্যে সম্পর্কের খোঁজখবর রাখে, যাতে আপনি দুটি প্রকল্পের (এবং অন্যান্য কাঁটাচামচ) মধ্যে কমিটগুলি এবং টানগুলি কল্পনা করতে পারেন।
আপনি এখনও অনুরোধ করতে পারেন যে লোকেরা আপনার ক্লোন করা ভাণ্ডারগুলি থেকে টানুন, এমনকি যদি আপনি ব্যবহার না করেন fork
- তবে আপনাকে এটি সর্বজনীনভাবে উপলভ্য করার সাথে মোকাবিলা করতে হবে। বা বিকাশকারীদের প্যাচগুলি প্রেরণ করুন (দেখুন git format-patch
) যে তারা তাদের গাছে প্রয়োগ করতে পারে।
git pull
। একটি কাঁটাচামচ একাধিক কমান্ড নেয়। এবং অবাক করার মতো বিষয় নয়, আমি যে প্রতিটি কাঁটাটি দেখি তা পুরানো। কাঁটাচামচ স্টেরয়েডগুলিতে ম্যাভেন সংগ্রহস্থলের সমস্যার মতো। একের পুরানো রেপো (মাভেন) এর পরিবর্তে তাদের কয়েক হাজার (গিট) রয়েছে।
git pull
সম্পাদনা করা যায় তাই এখনও কিছু ধরণের সম্পর্ক বিদ্যমান রয়েছে। যদি আপনি সম্পূর্ণ অনুলিপিটি নিজের লোকাল মেশিনে বসে থাকেন এবং মূল রেপো থেকে সংযোগ বিচ্ছিন্ন করেন।
যখন আপনি বলবেন আছো forking একটি সংগ্রহস্থলের আপনি মূলত আপনার GitHub আইডি অধীনে সংগ্রহস্থলের একটি অনুলিপি তৈরি করছে। এখানে লক্ষ্য করার মূল বিষয়টি হ'ল মূল সংগ্রহস্থলের যে কোনও পরিবর্তনগুলি প্রতিস্থাপিত হবে আপনার জালিত ভাণ্ডারগুলিতে (আপনার আনতে হবে এবং পুনরায় ফিরিয়ে আনতে হবে) to তবে, আপনি যদি নিজের কাঁটাযুক্ত ভাণ্ডারগুলিতে কোনও পরিবর্তন করেন তবে আপনাকে স্পষ্টরূপে মূল সংগ্রহস্থলের একটি পুল অনুরোধ তৈরি করতে হবে । যদি আপনার টানার অনুরোধটি মূল সংগ্রহস্থলের প্রশাসকের দ্বারা অনুমোদিত হয় , তবে আপনার পরিবর্তনগুলি বিদ্যমান মূল কোড-বেসের সাথে প্রতিশ্রুতিবদ্ধ / একীভূত হবে । তখন পর্যন্ত, আপনার পরিবর্তনগুলি শুধুমাত্র কপি আপনি প্রতিফলিত হবে forked ।
সংক্ষেপে:
কাঁটাচামচ এবং পুল মডেল যে কোনও ব্যক্তিকে বিদ্যমান সংগ্রহস্থল কাঁটাতে এবং সোর্স সংগ্রহস্থলটিতে অ্যাক্সেসের প্রয়োজন ছাড়াই তাদের ব্যক্তিগত কাঁটাচামচগুলিতে পরিবর্তনগুলি চাপতে দেয়। তারপরে পরিবর্তনগুলি অবশ্যই প্রকল্পের রক্ষণাবেক্ষণকারী দ্বারা উত্স ভান্ডারে টেনে আনতে হবে।
নোট করুন যে কাঁটাচামচ করার পরে আপনি আপনার মেশিনে স্থানীয়ভাবে আপনার সংগ্রহস্থল (আপনার নামের নিচে একটি) ক্লোন করতে পারেন। এতে পরিবর্তন করুন এবং এটি আপনার কাঁটাযুক্ত ভাণ্ডারগুলিতে চাপ দিন। তবে, মূল ভান্ডারে আপনার পরিবর্তনগুলি প্রতিবিম্বিত করতে আপনার টানার অনুরোধ অনুমোদিত হতে হবে।
অন্যান্য আকর্ষণীয় উদ্বেগের দম্পতি -
আপনি আপনার অনলাইন রেপোতে প্রতিশ্রুতিবদ্ধ করতে পারেন (বা আপনার স্থানীয় রেপোতে প্রতিশ্রুতিবদ্ধ করতে পারেন এবং তারপরে আপনার অনলাইন রেপোতে চাপ দিতে পারেন), তারপরে অনুরোধটি পাঠান।
প্রজেক্ট ম্যানেজার তার মূল অনলাইন সংস্করণে আপনার পরিবর্তনগুলি পেতে এটি গ্রহণ করতে পারে।
একটি ক্লোন হ'ল যেখানে আপনার যথাযথ সদৃশ এবং একটি সংগ্রহস্থলের দুটি, সম্ভবত পৃথক পৃথক সংস্করণ রয়েছে। যখন একটি রেপো সংশোধন করা হয়, তখন নতুন সামগ্রীটি একটি পুশ কমান্ড ব্যবহার করে সক্রিয়ভাবে অন্য রেপোতে সক্রিয়ভাবে অনুলিপি করা উচিত। এবং অন্যান্য রেপোতে পরিবর্তন আনা হয়েছে।
আপনি যখন সার্ভারে রেপো কাঁটাচামচ করেন তখন কনটেন্টের নকলের প্রয়োজন হয় না কারণ উভয় রেপো একই সার্ভার থেকে একই [স্থির অবজেক্ট] সামগ্রী ব্যবহার করবে। কৌশলটি বিভিন্ন ব্যবহারকারীর দৃষ্টিভঙ্গি পরিচালনা করতে থাকে যাতে প্রতিটি ব্যবহারকারী বিশ্বাস করে যে তাদের কাছে রেপোর সম্পূর্ণ ব্যক্তিগত অনুলিপি রয়েছে। কাঁটাচামচগুলির মধ্যে ধাক্কা এবং আনতে সহজভাবে ব্যবহারকারীর পয়েন্টার আপডেট করা হয়।
নিম্ন স্তরে, গিট অভ্যন্তরীণভাবে একই কাজ করে। আপনার যদি তিনটি পৃথক ফাইল থাকে, যার প্রত্যেকটি থাকে Hello World
, তবে সহজেই গিটটি তার 'হ্যালো ওয়ার্ল্ড ব্লব'-এর একক অনুলিপি' কাঁটাচামচ 'করে এবং প্রয়োজনীয়ভাবে তিনটি জায়গায় এটি সরবরাহ করে।
সার্ভারে কাঁটাচামচ করার দক্ষতার অর্থ দাঁড়ায় যে গিথুবের বৃহত স্টোরেজ ভাতা গড়ে গড়ে এত বড় নয় যেহেতু প্রতিটি দেহই একক অন্তর্নিহিত রেপো ভাগ করে দেয়।
সংক্ষেপে, ফোর্কিং সম্ভবত "আপনার গিটহাব আইডি / প্রোফাইলের অধীনে ক্লোনিং" এর সমান। স্পষ্টতই কিছু ব্যতিক্রম সহ একটি কাঁটাচামচটি যে কোনও সময় ক্লোনের চেয়ে ভাল। ক্লকড সংগ্রহস্থলটি সর্বদা নিরীক্ষণ করা / ক্লোন করা সংগ্রহস্থলের তুলনায় মূল সংগ্রহস্থলের সাথে তুলনা করা হয়। এটি আপনাকে পরিবর্তনগুলি ট্র্যাক করতে, টানার অনুরোধগুলি শুরু করতে এবং মেনুয়ালি আপনার ভাঁজযুক্তটির সাথে মূল সংগ্রহস্থলগুলিতে করা পরিবর্তনগুলি সিঙ্ক করতে সক্ষম করে।
@ অনিকেতঠাকুরের উত্তরটি খুব ভাল। নিচের প্রশ্নের উত্তর এখনও কেউ দেয়নি।
আমি যদি কোনও প্রকল্পের জন্য তৈরি করে থাকি তবে আমি কি কেবল গিটহাবের মাধ্যমে টানতে অনুরোধগুলি পাঠাতে পারি?
না। আপনি যদি কোনও ভাণ্ডারটির অবদান রাখেন তবে আপনি: একটি স্থানীয় ক্লোন তৈরি করতে পারেন। একটি স্থানীয় শাখা তৈরি করুন। সেই শাখায় কমিট যোগ করুন। স্থানীয় শাখাটি গিথুবে ফিরে যান (প্রক্রিয়াতে একটি দূরবর্তী শাখা তৈরি করা)। সেই শাখাটি মাস্টার শাখায় মার্জ করার জন্য অনুরোধ করুন (বা আপনার যেটি শাখা পছন্দ করুন)।
যদি আপনি প্রশ্নকর্তা ইঙ্গিত করেছিলেন এমনটি করেছিলেন (কাঁটাচামড়া ভুলে গেছেন এবং কেবল স্থানীয়ভাবে একটি রেপো ক্লোন করেছেন, পরিবর্তন করেছেন এবং এখন একটি টানার অনুরোধ জারি করতে হবে) আপনি ট্র্যাকটিতে ফিরে যেতে পারেন:
গিটহাবের আর একটি অদ্ভুত সূক্ষ্ম পার্থক্য হ'ল আপনার পরিবর্তনগুলি মূল রেপোতে টান না দেওয়া পর্যন্ত কাঁটাচামচগুলিতে পরিবর্তনগুলি আপনার ক্রিয়াকলাপ লগে গণনা করা হয় না। আরও কী, একটি কাঁটাচামচকে যথাযথ ক্লোনে রূপান্তর করতে, আপনাকে দৃশ্যত গিথুব সমর্থনের সাথে যোগাযোগ করতে হবে।
আমার অবদানগুলি কেন প্রদর্শিত হচ্ছে না তা থেকে :
কমিট একটি কাঁটাচামচ করা হয়েছিল
কাঁটাচামচ তৈরি করা কমিটগুলি আপনার অবদানের জন্য গণনা করবে না। তাদের গণনা করতে, আপনাকে নিম্নলিখিতগুলির একটি করতে হবে:
আপনার পরিবর্তনগুলি প্যারেন্ট রিপোজিটরিতে একত্রীকরণের জন্য একটি টান অনুরোধ খুলুন । কাঁটাচাটি আলাদা করতে এবং এটিকে গিটহাবের স্ট্যান্ডেলোন রিপোজিটরিতে রূপান্তর করতে, গিটহাব সাপোর্টের সাথে যোগাযোগ করুন । কাঁটাচামচটির নিজস্ব কাঁটাচামচ থাকলে, কাঁটাচামচগুলি আপনার সংগ্রহস্থলটি একটি নতুন নেটওয়ার্কে স্থানান্তরিত করে বা বর্তমান নেটওয়ার্কে থাকা উচিত কিনা তা সমর্থন করুন। আরও তথ্যের জন্য, " কাঁটাচামচ সম্পর্কে " দেখুন ।