গিট ক্লোন এবং চেকআউটের মধ্যে পার্থক্য কী?


উত্তর:


337

চেকআউটটির জন্য ম্যান পৃষ্ঠা: http://git-scm.com/docs/git-checkout

ক্লোনটির জন্য ম্যান পৃষ্ঠা: http://git-scm.com/docs/git-clone

এটির সংক্ষেপে, ক্লোনটি আপনার কাছে নেই এমন সংগ্রহস্থল আনার জন্য, চেকআউটটি ইতিমধ্যে আপনার কাছে থাকা কোনও সংগ্রহস্থলের শাখাগুলির মধ্যে স্যুইচ করার জন্য।

দ্রষ্টব্য: যাঁদের একটি এসভিএন / সিভিএস ব্যাকগ্রাউন্ড রয়েছে এবং গিতে নতুন, তাঁদের জন্য git cloneএসভিএন / সিভিএসের সমতুল্য checkout। বিভিন্ন পদগুলির একই শব্দটি প্রায়শই বিভ্রান্ত হয়।


41
checkoutঅন্য জিনিসগুলির জন্যও ব্যবহার করা যেতে পারে যেমন আপনার ফাইলের ভার্চিং কপির কোনও ফাইলকে অন্য সংশোধন থেকে কোনও সংস্করণ দিয়ে ওভাররাইট করা।
এসভিচ

8
এবং আপনি কখন "পুল" বনাম "চেকআউট" ব্যবহার করবেন?
কোকোডোকো

27
টান আনতে একটি আনয়ন প্লাস মার্জ, চেকআউট একটি স্থানীয় অপারেশন যা কেবল ইতিমধ্যে প্রাপ্ত ডেটাতে চালিত হয়। সুতরাং এটি মোটেও svn চেকআউটের মতো নয়।
আগস্ট লিলিয়াস 26'15

13
এসভিএন বিশ্ব থেকে এসে আমিও বিভ্রান্ত হয়ে পড়েছিলাম। বাহ .. কি গোলমাল। একটি আদর্শ বিশ্বে আমি প্রতিটি উত্স নিয়ন্ত্রণ সিস্টেম প্রস্তুতকারককে একই পদ ব্যবহার করতে প্রয়োগ করব।
জোল্টন তমাসি

5
কাঁটাচামচ একটি গিথুব শব্দ এবং এটি গিটের সাথে সম্পর্কিত নয়।
আগস্ট Lilleaas

123

গিট ক্লোন হ'ল দূরবর্তী গিট সার্ভার থেকে আপনার সংগ্রহস্থলগুলি আনতে।

গিট চেকআউট হ'ল আপনার সংগ্রহস্থলের পছন্দসই স্থিতি (শাখা বা নির্দিষ্ট ফাইলগুলির মতো) চেকআউট করা।

উদাহরণস্বরূপ, আপনি বর্তমানে মাস্টার শাখায় রয়েছেন এবং আপনি বিকাশকারী শাখায় স্যুইচ করতে চান।

git checkout develop_branch

উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট ফাইলের একটি নির্দিষ্ট স্থিতিতে চেকআউট করতে চান

git checkout commit_point_A -- <filename>

গিট শেখার জন্য এখানে একটি ভাল রেফারেন্স দেওয়া হয়েছে, আপনাকে আরও অনেক সহজে বুঝতে দেয়।


20
"রিমোট গিট সার্ভার থেকে" - সার্ভারের রিমোট হওয়া প্রয়োজন হয় না। git cloneস্থানীয় রেপোসের সাথেও কাজ করবে।
সেট

1
গিটের জন্য একটি ভিজ্যুয়াল রেফারেন্সের লিঙ্কের জন্য ধন্যবাদ!
ডেভিড পয়েন্টার

@ কিট হো: লিঙ্কটি একটি রেফারেন্স হিসাবে ঠিক আছে, তবে উপরের ব্যক্তির মতো গিট সম্পর্কে প্রাথমিক প্রশ্নগুলির সাথে এটি কারও পক্ষে খুব বেশি সহায়তা করে না। যেমন নিবন্ধটি নিজেই বলেছে, "একবার গিট কীভাবে কাজ করে সে সম্পর্কে কিছুটা জানার পরে, এই সাইটটি আপনার বোঝাপড়া আরও
এসএন

বিজ্ঞপ্তি সংজ্ঞা এত সহায়ক নয়। ক্লোন বর্ণনার জন্য ব্যবহৃত "ফেচ" শব্দটি দরকারী এবং অর্থ যুক্ত করে, তবে "চেকআউটটি চেকআউট করা ..." শব্দবন্ধটি কোনও অর্থ যোগ করে না, বা এটি দুটি ক্রিয়াকলাপের মধ্যে পার্থক্যটি চিহ্নিত করতে আসলে সহায়তা করে না।
সি পার্কিনস

11

লক্ষ্য করার মতো একটি বিষয় হ'ল গিটের মধ্যে কোনও "কপিরাইট" না থাকা। এর কারণ আপনার স্থানীয় রেপোতে ইতিমধ্যে আপনার একটি সম্পূর্ণ অনুলিপি রয়েছে - আপনার স্থানীয় রেপো cloneআপনার নির্বাচিত আপস্ট্রোম রেপোর একটি। সুতরাং আপনার কাছে রেফারেন্স রেপোগুলিতে সেই ফাইলগুলিতে কিছু 'লক' না লাগিয়ে কার্যকরভাবে সমস্ত কিছুর একটি ব্যক্তিগত checkoutরয়েছে ।

গিট SHA1 হ্যাশ মানগুলি যাচাই করার জন্য প্রক্রিয়া হিসাবে সরবরাহ করে যে আপনার ফাইল / ডিরেক্টরি ট্রি / কমিট / রেপোর অনুলিপিটি হুবহু একই, যে কেউ বিশ্বাসের শ্রেণিবিন্যাসের মধ্যে জিনিসগুলিকে "মাস্টার" হিসাবে ঘোষণা করতে সক্ষম হিসাবে ব্যবহৃত হয়। এটি সেই সমস্ত 'লকগুলি' এড়িয়ে চলে যা বেশিরভাগ এসসিএম সিস্টেমকে দম বন্ধ করে দেয় (প্রাইভেট কপি, বড় সংশ্লেষ এবং সোর্স কোডের সত্যিকারের নিয়ন্ত্রণ বা পরিচালনার কোনও সমস্যা না থাকায় ;-)!


4
প্রশ্নটিতে লকগুলি উল্লেখ করা হয়নি এবং এই দিনগুলিতে এটি ডিফল্টরূপে ধরে নেওয়া উচিত যে কোনও ব্যক্তি এই ধারণার সাথে পরিচিত নন তাই পুরাতন ভিসিএস থেকে এই পার্থক্যগুলি কেবল স্পষ্টভাবে জিজ্ঞাসা করলেই ব্যাখ্যা করা উচিত।
WRAR

6

কেবল গিট চেকআউটের 2 টি ব্যবহার রয়েছে

  1. বিদ্যমান স্থানীয় শাখাগুলির মধ্যে স্যুইচিং git checkout <existing_local_branch_name>
  2. পতাকা-বি ব্যবহার করে বর্তমান শাখা থেকে একটি নতুন শাখা তৈরি করুন। মনে করুন আপনি যদি মাস্টার শাখায় থাকেন তবে git checkout -b <new_feature_branch_name>মাস্টারের বিষয়বস্তু সহ একটি নতুন শাখা তৈরি করবেন এবং নতুন তৈরি শাখায় স্যুইচ করবেন

আপনি অফিসিয়াল সাইটে আরও বিকল্প খুঁজে পেতে পারেন


খুশী হলাম। এই -bবিকল্পটি দুর্দান্ত which ভাল লাগল!
আরবিটি

2

checkout অনেক ক্ষেত্রে ব্যবহার করা যেতে পারে:

1 ম কেস : স্থানীয় সংগ্রহস্থলে শাখার মধ্যে স্যুইচ করুন উদাহরণস্বরূপ: git checkout exists_branch_to_switch

আপনি নতুন শাখাও তৈরি করতে পারেন এবং এই ক্ষেত্রেটি দিয়ে স্যুইচ আউট করতে পারেন -b

git checkout -b new_branch_to_switch

২ য় ক্ষেত্রে : এক্স রেভ থেকে ফাইলটি পুনরুদ্ধার করুন

git checkout rev file_to_restore ...

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.