কখনও কখনও যখন আমি কোন প্রতিশ্রুতিবদ্ধ হতে চলেছি তখন শেষ প্রতিশ্রুতি থেকে ঠিক কী পরিবর্তন হয়েছিল তা আমি স্মরণ করতে পারি না। কোডের বর্তমান অবস্থা এবং শেষ প্রতিশ্রুতি থেকে আমি কীভাবে আলাদা দেখতে পারি?
কখনও কখনও যখন আমি কোন প্রতিশ্রুতিবদ্ধ হতে চলেছি তখন শেষ প্রতিশ্রুতি থেকে ঠিক কী পরিবর্তন হয়েছিল তা আমি স্মরণ করতে পারি না। কোডের বর্তমান অবস্থা এবং শেষ প্রতিশ্রুতি থেকে আমি কীভাবে আলাদা দেখতে পারি?
উত্তর:
আপনি যদি এখনও সূচীতে কোনও ফাইল যোগ না করেন (সহ git add), কেবল তাই করুন
git diff
এটি আপনার কার্যকারী গাছ এবং সূচকের মধ্যে পার্থক্য দেখাবে।
আপনি যদি সূচকে ফাইল যুক্ত করে থাকেন তবে আপনাকে সূচী এবং শেষ প্রতিশ্রুতি (হেড) এর মধ্যে পার্থক্যগুলি দেখানোর জন্য এটি করতে হবে।
git diff --cached
পরিশেষে, আপনি যদি সর্বশেষ প্রতিশ্রুতি ( HEAD) এর সাথে তুলনা করে কার্যনির্বাহী গাছের পরিবর্তনগুলি দেখতে চান তবে (কার্লোস দেখিয়েছেন) আপনি যা করতে পারেন
git diff HEAD
এই পরিবর্তনগুলি হ'ল git diffএবং এর সংমিশ্রণ git diff --cached।
git diffসূচকের রাজ্যের কোনওটি এবং পূর্বের প্রতিশ্রুতি এক ভিন্ন বার্তায় কি সম্ভব?
git diff --cached HEAD^:)
আপনি যদি এখনই কোনও প্রতিশ্রুতিবদ্ধ হয়ে থাকেন বা বর্তমান অবস্থার তুলনায় সর্বশেষ প্রতিশ্রুতিতে কী পরিবর্তিত হয়েছে তা দেখতে চান (ধরে নিবেন যে আপনার একটি পরিষ্কার পরিশ্রমী গাছ রয়েছে) আপনি ব্যবহার করতে পারেন:
git diff HEAD^
এটি তাত্ক্ষণিক পূর্বের প্রতিশ্রুতির সাথে শিরোনামটির তুলনা করবে। একজনও করতে পারতেন
git diff HEAD^^
খেলার আগে 2 কমিটের রাজ্যের সাথে তুলনা করা। বর্তমান অবস্থা এবং একটি নির্দিষ্ট কমিটের মধ্যে পার্থক্য দেখতে কেবল সহজভাবে এটি করুন:
git diff b6af6qc
b6af6qcকমিট হ্যাশের উদাহরণ যেখানে Where
HEAD^কমিট হয় আগে সর্বশেষ কমিট।
আপনি গিটকে বর্তমান / শেষ প্রতিশ্রুতি থেকে আলাদা করতে বলেছেন, যার সংক্ষিপ্তসার রয়েছে HEAD।
সুতরাং git diff HEADওয়ার্কট্রির বর্তমান অবস্থা বর্তমান কমিটের সাথে তুলনা করবে।
এটি পার্থক্য এবং ফাইলগুলি কীভাবে পরিবর্তন / সংশোধন করা হয়েছে তাও দেখায়।
$ git status
সূচক ফাইল এবং বর্তমান এইচএইডি কমিটের মধ্যে পার্থক্য রয়েছে এমন পাথগুলি, কার্যকারী গাছ এবং সূচক ফাইলের মধ্যে পার্থক্য রয়েছে এমন পথগুলি এবং কার্যকরী গাছের পাথগুলি যা গিট দ্বারা ট্র্যাক করা হয়নি (এবং গিটিগনোর দ্বারা উপেক্ষা করা হয়নি) (5) )। প্রথমটি হ'ল গিট কমিট চালিয়ে আপনি যা প্রতিশ্রুতিবদ্ধ করবেন; দ্বিতীয় এবং তৃতীয়টি হ'ল গিট কমিট চালানোর আগে গিট অ্যাড চালিয়ে আপনি কী করতে পারেন।
https://www.kernel.org/pub/software/scm/git/docs/git-status.html
এটি আমার পক্ষেও কাজ করে:
# The last one
git diff HEAD~1 HEAD
# The last but one, etc...
git diff HEAD~2 HEAD~1
এটি সাধারণত রৈখিক ইতিহাসের জন্য কাজ করে। যদি মার্জ কমিটগুলি থাকে তবে এটি আরও জটিল হতে পারে। আমি আপনাকে একটি সুন্দর এবং সম্পূর্ণ ব্যাখ্যার জন্য এই ডকটি সন্ধান করার পরামর্শ দিচ্ছি, বিশেষত গাছের উদাহরণের উদাহরণ:
git diffশিরোনামের তুলনায় ওয়ার্কট্রি তুলনা করে, হেডের সাথে নয়।