গিট: বনাম পুশ বনাম কমিট যুক্ত করুন


115

Git মধ্যে পার্থক্য কি add, pushএবং commit?

কেবলমাত্র এসভিএন থেকে আগত কিছুটা বিভ্রান্ত, যেখানে "আপডেট" জিনিসগুলি 'যুক্ত' করবে এবং প্রতিশ্রুতিবদ্ধ একটি "ধাক্কা" দেয় এবং পাশাপাশি 'যুক্ত' করবে

গিটের মধ্যে সমস্ত বিভিন্ন ফাংশন রয়েছে। আপনার অভিজ্ঞতা থেকে কিছু ব্যাখ্যা আশা করছি।


উত্তর:


163
  1. git addআপনার পরিবর্তিত ফাইলগুলি পরবর্তীতে প্রতিশ্রুতিবদ্ধ হওয়ার জন্য কাতারে যুক্ত করে । ফাইলগুলি প্রতিশ্রুতিবদ্ধ নয়

  2. git commitযুক্ত করা ফাইলগুলিতে কমিট করে এবং একটি লগ দিয়ে একটি নতুন সংশোধন তৈরি করে ... আপনি যদি কোনও ফাইল যুক্ত না করেন তবে গিট কিছু করবে না। আপনি উভয় ক্রিয়া একত্রিত করতে পারেনgit commit -a

  3. git push আপনার পরিবর্তনগুলি দূরবর্তী সংগ্রহস্থলে ঠেলা দেয় us

এই গিট চিট শিটের এই চিত্রটি কাজের প্রবাহের একটি ভাল ধারণা দেয়

এখানে চিত্র বর্ণনা লিখুন

git addচিত্রটিতে নেই কারণ প্রতিশ্রুতিবদ্ধ হওয়ার প্রস্তাবিত উপায়টি সম্মিলিত git commit -a, তবে git addপ্রবাহটি বোঝার জন্য আপনি মানসিকভাবে পরিবর্তন ব্লকে একটি যুক্ত করতে পারেন ।

সর্বশেষে, pushপৃথক আদেশ হওয়ার কারণ হ'ল gitদর্শনের কারণে। gitএকটি বিতরণযোগ্য সংস্করণ সিস্টেম, এবং আপনার স্থানীয় ওয়ার্কিং ডিরেক্টরি হ'ল আপনার ভাণ্ডার! আপনার করা সমস্ত পরিবর্তনগুলি তাত্ক্ষণিকভাবে প্রতিবিম্বিত হয় এবং রেকর্ড করা হয়। pushআপনি যখন কাজ করছেন যা কিছু করা হয়ে গেলে আপনি কেবল তখনই রিমোট রেপো আপডেট করতে ব্যবহার করেন (যা আপনি অন্যদের সাথে ভাগ করে নিতে পারেন)। এটি স্থানীয়ভাবে (নেটওয়ার্কের ওভারহেড ব্যতীত) পরিবর্তনগুলি সংরক্ষণ করার এবং কাজ করার একটি পরিষ্কার উপায় এবং প্রতিটি প্রতিশ্রুতির পরিবর্তে আপনি যখন চান তখনই এটি আপডেট করুন। এর ফলে অপ্রত্যক্ষভাবে সহজে কমিট / ব্রাঞ্চিং ইত্যাদির ফলাফল হয় (কেন না, ঠিক কি? এটিতে আপনার কী ব্যয় হয়?) যার ফলে সংগ্রহস্থলের সাথে গোলযোগ না করে আরও বেশি পয়েন্ট বাঁচাতে হয়।


তাহলে কি পুশ স্থানীয়ভাবে কমিট করে এবং তারপরে রিমোট সার্ভারে চাপ দেয় বা রিমোট রিপোজিটরিতে কাজ পাওয়ার জন্য প্রথমে কি কমিট করতে হবে?
অ্যান্ড্রু এস

2
আপনাকে প্রথমে প্রতিশ্রুতিবদ্ধ করতে হবে ("গিট কমিট") যা আপনার স্থানীয় সংগ্রহস্থল আপডেট করে (আপনার স্থানীয় মেশিনে ওরফে) তারপরে আপনাকে সার্ভারে ধাক্কা দিতে হবে ("গিট পুশ") যা দূরবর্তী সংগ্রহস্থল আপডেট করে (উদাহরণস্বরূপ গিথুব সার্ভারে)। )
রোমেন

আমি গিতে একটি "মানসিকভাবে যুক্ত" ফাংশনটি পছন্দ করব!
জুনচেন লিউ

1
এটি প্রায়শই প্রতিশ্রুতিবদ্ধ না শুধুমাত্র, তবে প্রায়শই চাপ দেওয়ার পরামর্শ দেওয়া হয়। আপনার হার্ড ড্রাইভ ক্রাশ হওয়ার পরে এটি আপনার কাজকে সুরক্ষিত করে।
সিসিসি

86

git add পরিবর্তনগুলি নির্বাচন করে

git commit রেকর্ড পরিবর্তন স্থানীয়ভাবে

git push শেয়ার পরিবর্তন


22
  • git add গিট ইনডেক্সে ফাইল যুক্ত করে, যা বহন করার জন্য প্রস্তুত বস্তুর স্টেজিং অঞ্চল।
  • git commitসূচকগুলিতে ফাইলগুলি সংগ্রহস্থলের প্রতি সংঘবদ্ধ করা, git commit -aপ্রথমে সূচকগুলিতে পরিবর্তিত সমস্ত ট্র্যাকযুক্ত ফাইল যুক্ত করার একটি শর্টকাট।
  • git push আপনার ব্রাঞ্চটি ম্যাপ করা দূরবর্তী সংগ্রহস্থলে সমস্ত মুলতুবি পরিবর্তনগুলি প্রেরণ করে (উদাঃ গিটহাবের উপরে)।

গিটকে বোঝার জন্য আপনাকে ডকুমেন্টেশনের উপর নজর না দিয়ে আরও বেশি প্রচেষ্টা বিনিয়োগ করতে হবে তবে এটি অবশ্যই মূল্যবান। কেবল সাবট্রিশনে গিট কমান্ডগুলি সরাসরি মানচিত্র করার চেষ্টা করবেন না, কারণ তাদের বেশিরভাগের প্রত্যক্ষ সমষ্টি নেই।


কারও কারও কাছে স্থানীয় এবং দূরবর্তী গিথাবের মধ্যে পার্থক্য ব্যাখ্যা করা উচিত। স্থানীয় এবং রিমেটে আপনার যা আছে। এই যে চাবিটি আপনার খুঁজে বের করতে হবে তা হল
মেহেদী আম্রোল্লাহি

12

'অ্যাড' আসলে কী করে তা নিয়ে আমি বিভ্রান্ত হয়ে পড়েছিলাম। আমি এখানে গিট প্রো বইটি থেকে একটি খুব আলোকিত অনুচ্ছেদটি পড়েছি যা আমি এখানে যুক্ত করতে চাই, কারণ এটি বিষয়গুলি স্পষ্ট করে

“দেখা যাচ্ছে যে আপনি গিট অ্যাড কমান্ডটি চালানোর সময় গিট কোনও ফাইলকে ঠিক একই পর্যায়ে নিয়ে যায়। আপনি যদি এখনই প্রতিশ্রুতিবদ্ধ হন, বেঞ্চমার্কস.আরবির সংস্করণটি যখন আপনি সর্বশেষে গিট অ্যাড কমান্ডটি চালিয়েছিলেন তা হ'ল এটি কীভাবে প্রতিশ্রুতিবদ্ধ হবে, আপনি যখন গিট কমিট পরিচালনা করবেন তখন এটি আপনার ভার্চিং ডিরেক্টরিতে প্রদর্শিত ফাইলের সংস্করণ নয়। গিট অ্যাড চালানোর পরে আপনি যদি কোনও ফাইল পরিবর্তন করেন তবে আপনাকে ফাইলের সর্বশেষ সংস্করণটি পর্যায়ক্রমে আবার গিট অ্যাড চালাতে হবে: "

উদ্ধৃতি থেকে: চকন, স্কট। "প্রো গিট" স্প্রিঞ্জার, 2009-08-19T00: 00: 00 + 00: 00। iBooks। এই উপাদান কপিরাইট দ্বারা সুরক্ষিত হতে পারে।


7

অ্যাড গিটকে একটি ফাইল ট্র্যাকিং শুরু করতে বলে।

প্রতিশ্রুতিবদ্ধ আপনার স্থানীয় স্টোরগুলিতে আপনার বর্তমান পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ

ধাক্কা আপনাকে স্থানীয় রেপোকে প্রবাহিত করে।



5

অনেকগুলি জিআইটি গোপন বিষয় সম্পর্কে খুব সুন্দর পিডিএফ

যোগ (কিভাবে কি কখনো কখনও কখনও এটি চিহ্ন ফাইল করতে ব্যবহৃত হয় সমস্যাগুলি সমাধান করা) SVN এর অ্যাড সমান।

কমিটও এসএনএন এর সমান, তবে এটি আপনার স্থানীয় সংগ্রহস্থলে পরিবর্তিত হয়।


2
এখন আমাকে এসএনএন অ্যাড এবং কমিট সন্ধান করতে হবে। আমার বড় ভয়: তাদের দস্তাবেজগুলি তখন আমাকে গিট অ্যাড এবং কমিটের জন্য উল্লেখ করবে। এবং লর্ড_টি হ'ল ডকগুলির লেখক।
এরিক

প্রশ্ন লেখকের এসভিএন সম্পর্কে জ্ঞান ছিল, তাই আমি ধরে নিয়েছি তিনি এসএনএন-র আদেশগুলি জানেন know
প্রভু_t

0

আমরা কোন ফাইলগুলি প্রতিশ্রুতিবদ্ধ করতে চাই তা গিটকে বলতে অ্যাড-ইন গিট ব্যবহার করা হয়, এটি ফাইলগুলি স্টেজিং এরিয়াতে রাখে

কমিট-ইন গিট ফাইলগুলি স্থানীয় মেশিনে সংরক্ষণ করার জন্য ব্যবহৃত হয় যাতে আমরা যদি কোনও পরিবর্তন করি বা ফাইলগুলি মুছতে পারি তবে আমরা আমাদের প্রতিশ্রুতিবদ্ধ ফাইলগুলি পুনরুদ্ধার করতে পারি

ধাক্কা - যদি আমরা স্থানীয় মেশিনে আমাদের ফাইলগুলি প্রতিশ্রুতিবদ্ধ করি তবে আমাদের স্থানীয় মেশিনটি নষ্ট হয়ে যায়, ক্ষতিগ্রস্থ হয় ইত্যাদি যদি তারা আমাদের ফাইলগুলি সুরক্ষিত রাখতে বা আমাদের ফাইলগুলি ভাগ করে নিতে সাধারণত হারিয়ে যায় তবে তারা আমাদের ফাইলগুলি একটি রিমোটে রাখতে চাই গিথুবের মতো সংগ্রহস্থল। দূরবর্তী সংগ্রহস্থলগুলিতে সঞ্চয় করতে আমরা পুশ ব্যবহার করি

উদাহরণস্বরূপ index.html গিট অ্যাড index.html নামের একটি ফাইল স্টেজিং

গিট কমিট-এম 'আপনার প্রতিশ্রুতিবদ্ধ নাম' মঞ্চযুক্ত একটি ফাইল প্রতিশ্রুতিবদ্ধ

গিথুব গিট পুশ অরিজিন মাস্টারের কাছে একটি ফাইল পুশ করা

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