উত্তর:
একটি পথ সরবরাহ করুন (এই ক্ষেত্রে মাইফোল্ডার) এবং কেবল চালান:
git diff myfolder/
git diff -- myfolderগিটার বিষয়ে অস্পষ্টতা কমাতে ব্যবহার করতে চাই । গিট ডিফের (এবং অনেকগুলি গিট কমান্ড) সাধারণ স্বীকৃতি হ'ল git diff [commit-ish] -- [path]যেখানে কমিট-ইশ ডিফল্ট হেডের (যেখানে আপনি এখন আছেন) [path]ডিফল্ট এবং গিট রুট ডিরেক্টরিতে ডিফল্ট, তবে আপনার বর্তমান ডিরেক্টরিটির সাথে সম্পর্কিত কিছু হতে পারে। ছাড়া --, Git অনুমান করবে আপনি কি বলতে চাইছেন, [commit-ish]বা [path]। কিছু ক্ষেত্রে, এটি স্বরলিপিটি 'অস্পষ্ট' বলে গিটকে বলে দেয়। যদি অামি যথাযথভাবে স্মরণ করি.
git diff master..develop myfolder/ক্র্যান্ডেল ডাব্লুএস মূল প্রশ্নের মন্তব্যে বলেছেন। গিটের স্থিতি আপনাকে যা দেখছে তা যদি আপনাকে পরিবর্তন দেখাতে পারে।
আপনি যদি বিভিন্ন শাখার তুলনা করছেন তবে আপনার --ফাইল সিস্টেমের পথ থেকে একটি গিট রিভিশন আলাদা করতে হবে । উদাহরণস্বরূপ, দুটি স্থানীয় শাখা সহ masterএবং bryan-working:
$ git diff master -- AFolderOfCode/ bryan-working -- AFolderOfCode/
বা একটি স্থানীয় শাখা থেকে একটি রিমোট:
$ git diff master -- AFolderOfCode/ origin/master -- AFolderOfCode/
আপনার এই জাতীয় জিনিসগুলির জন্য ডকুমেন্টেশন দেখার অভ্যাস করা উচিত। এটি খুব দরকারী এবং খুব দ্রুত আপনার দক্ষতা উন্নতি করবে। আপনি যখন করবেন তখন এখানে প্রাসঙ্গিক বিটgit help diff
git diff [options] [--no-index] [--] <path> <path>
দু'টি <path>আপনাকে প্রশ্নে থাকা ডিরেক্টরিতে পরিবর্তন করতে হবে।
যোগ অতুলনীয়ভাবে গীত আপনার difftool যেমন এবং হিসাবে diffdir জন্য একটি alias যোগ করুন:
git config --global alias.diffdir = "difftool --dir-diff --tool=bc3 --no-prompt"
গিটডিফটি পান:
git diffdir 4bc7ba80edf6 7f566710c7
রেফারেন্স: তুলনা ছাড়িয়ে ডাব্লু গিট ডিফ্টটিওল + সম্পূর্ণ ডিরেক্টরিগুলির তুলনা করুন
git config --global alias.diffdir = "difftool --dir-diff --tool=bc3 --no-prompt"পরিবর্তে ব্যবহার করুন
--no-symlinksবিকল্পটি যুক্ত করুন যাতে কমান্ডটি পড়েgit difftool --dir-diff --no-symlinks
আপনি কেবল একটি পাথ যোগ করতে পারবেন না, তবে git diff --relativeসেই ফোল্ডারের সাথে সম্পর্কিত ফলাফল পেতে আপনি যুক্ত করতে পারেন।
git -C a/folder diff --relative
এবং গিট 2.28 (কিউ 32020) দিয়ে, " diff" পরিবারের কমান্ডগুলি " diff.relative" কনফিগারেশন ভেরিয়েবলকে সম্মান করতে শিখেছে ।
দেখুন c28ded8 কমিট দ্বারা (22 মে 2020) লরেন্ট Arnoud ( spk) ।
(দ্বারা একীভূত junio সি Hamano - gitster- মধ্যে কমিট e34df9a , 02 জুন 2020)
diff: কনফিগার বিকল্প যোগ করুনrelativeসাইন-অফ-বাই: লরেন্ট
আর্নউদ আকাড-বাই: ওন ট্রান কং দানহ
diff.relativeথেকে বুলিয়ান বিকল্প সেটtrueশো শুধুমাত্র বর্তমান ডিরেক্টরির / দ্বারা নির্দিষ্ট মান পরিবর্তনpathআর্গুমেন্টrelativeবিকল্প এবং শো pathnames উপরোক্ত ডিরেক্টরির আপেক্ষিক।
--no-relativeআগে ওভাররাইড করতে শিখান--relativeগিট-ফর্ম্যাট-প্যাচ (1) বিকল্পের ডকুমেন্টেশন
--relativeএবং এর জন্য যুক্ত করুন--no-relative
diff.relative:যদি '
true' এ সেট করাgit diffথাকে তবে ডিরেক্টরিটির বাইরে পরিবর্তনগুলি প্রদর্শিত হয় না এবং বর্তমান ডিরেক্টরিটির সাথে সম্পর্কিত পথের নাম প্রদর্শন করা হয়।
আপনি যদি সাব-ডিরেক্টরিগুলি বাদ দিতে চান তবে আপনি ব্যবহার করতে পারেন
git diff <ref1>..<ref2> -- $(git diff <ref1>..<ref2> --name-only | grep -v /)
বাইন্ডের তুলনা ছাড়াই ডিরেক্টরি ডিফারফের জন্য তুলনা করতে ব্যবহার করুন , এর মতো প্রতীকী লিঙ্কগুলি অনুসরণ করুন মনে রাখবেন:
একটি ফোল্ডারে ভিউ → বিধিগুলির তুলনা করুন (রেফারি আইকন):
এবং তারপরে, প্রতীকী লিঙ্কগুলি অনুসরণ করুন এবং সেশন ডিফল্টগুলি আপডেট করুন:
অথবা,
এর মতো উপনাম সেট আপ করুন:
git config --global alias.diffdir "difftool --dir-diff --tool=bc3 --no-prompt --no-symlinks"
মনে রাখবেন যে উভয় ক্ষেত্রেই, পাশের (বাম বা ডানদিকে) তৈরি করা যে কোনও সম্পাদনা বর্তমান কাজের গাছটিকে বোঝায় তা সংরক্ষণ করা হয়েছে।
git diff master..yourbranch path/to/folder