"গিট ডিফ" কিছুই করে না


96

আমার ধারণা এটি কোথাও একটি কনফিগারেশন ত্রুটি, তবে আমি কোথায় তা বুঝতে পারি না। নিয়মিত গিট কমান্ডগুলি সূক্ষ্মভাবে কাজ করে বলে মনে হয়, তবে "গিট ডিফ" কিছুই করে না। নিরাপদ থাকতে, আমি আমার .gitconfig ফাইল থেকে বাহ্যিক ডিফ সরঞ্জামগুলি সরিয়েছি। এটি ম্যাকপোর্টস এর মাধ্যমে ইনস্টল করা হয়েছিল এবং এটি ল্যাট সংস্করণ (1.7.2.2)।

আমি যা দেখছি তা হ'ল আমি যখন আমার কর্মক্ষেত্র থেকে "গিট ডিফ" চালাচ্ছি, তখন কিছুই হয় না তা কেবল বাইরে চলে যায়।

$ git --version
git version 1.7.2.2
$ git diff
$ 

যদি আমি একটি ডিরেক্টরি ব্যাকআপ করি তবে আমার মূল কর্মক্ষেত্রের বাইরে, "গিট ডিফ" টাইপ করলে এটি আমাকে দেয়:

$ git diff
usage: git diff [--no-index] <path> <path>

আমি আশাবাদী সংগ্রহস্থলের অধীনে না থাকায় এটির আচরণ আশা করা যেতে পারে।

এটির সমস্যা সমাধানের জন্য আমি কী করতে পারি তার কোনও ধারণা?


সমস্যা সমাধানের কিছু আছে বলে আপনি কী ভাবছেন? আপনি কি দেখতে প্রত্যাশা করেছিলেন?
রব কেনেডি

দ্রষ্টব্য: কোনও রেপোর git diff বাইরে ব্যবহার করার সময় ত্রুটি বার্তাটি শীঘ্রই পরিষ্কার হয়ে যাবে। দেখুন নিচের আমার উত্তর
VonC

4
মনে রাখবেন যে আপনি যদি দুটি কমিটের মধ্যে একটি নির্দিষ্ট ফাইলের মধ্যে পার্থক্য করার চেষ্টা করছেন এবং কোনও আউটপুট না দেখছেন তবে নিশ্চিত করুন যে ফাইলটির পথে সঠিকভাবে আচ্ছাদন রয়েছে।
শেঠ ফুল

উত্তর:


111

এর জন্য ডিফল্ট আউটপুট git diffহ'ল পরিবর্তনের তালিকা যা সূচকে প্রতিশ্রুতিবদ্ধ / যুক্ত হয়নি। যদি কোনও পরিবর্তন হয় না, তবে কোনও আউটপুট নেই।

গিট ডিফ [--options] [-] […]

এই ফর্মটি হ'ল সূচকের তুলনায় আপনার করা পরিবর্তনগুলি দেখার জন্য (পরবর্তী প্রতিশ্রুতির জন্য স্টেজিং অঞ্চল)। অন্য কথায়, পার্থক্যগুলি হ'ল আপনি গিটকে আরও সূচকগুলিতে যুক্ত করতে বলতে পারেন তবে আপনি এখনও তা করেননি।

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

$ git diff            # (1)
$ git diff --cached   # (2)
$ git diff HEAD       # (3)
  1. সূচকের সাথে কাজের অনুলিপিটি পৃথক করুন
  2. হেডের সাথে সূচকটি পৃথক করুন
  3. হেড সহ ওয়ার্কিং কপিটি আলাদা করুন

আপনার কর্মক্ষেত্রের বাইরে যেমন আপনি অনুমান করেছিলেন, গিটটি কী পার্থক্য করতে হবে তা জানতে পারে না, সুতরাং তুলনা করার জন্য আপনাকে স্পষ্টভাবে দুটি পথ নির্দিষ্ট করতে হবে, সুতরাং ব্যবহারের বার্তা।


13
আপনার উত্তরটি সঠিক কিনা তা আমি নিশ্চিত নই, তবে এটি আমাকে উত্তর খুঁজে পেতে সহায়তা করেছে, তাই আপনাকে ধন্যবাদ এবং আমি এটি হিসাবে চিহ্নিত করব! গিট ডিফের জন্য ডিফল্ট আউটপুট হ'ল অননুমোদিত পরিবর্তনের তালিকা নয় , এটি এমন আপমুক্ত পরিবর্তনের তালিকা যা "পরবর্তী প্রতিশ্রুতি দেওয়ার জন্য এখনও পর্যায়বদ্ধ নয়" are সুতরাং, কমান্ডটি যা আমি "গিট ডিফ" করার প্রত্যাশা করছিলাম তা হ'ল "গিট ডিফ হেড"।
টম লিয়াঞ্জা

4
ছবিটি সম্পূর্ণ করতে, সূচীতে কী রয়েছে তা দেখানোর জন্য গিট ডিফ - ক্যাশেড ব্যবহার করুন।
ডগলাস

গিট কি আলাদা হয়: (সূচক) - (কার্যকরী ডিরেক্টরি) বা অন্য উপায়ে: (কার্যক্ষম ডিরেক্টরি) - (সূচক)?
বিকেএসপুরজন

4

দ্রষ্টব্য: 1.8.5 বা 1.9 গিট শুরু করুন, Q4 2013 :

যখন ব্যবহারকারী কোনও কাজের গাছের বাইরে " git diff" টাইপ করেন , ভেবে থাকেন যে তিনি একজনের ভিতরে আছেন, বর্তমান ত্রুটি বার্তা যা একক লাইনার:

usage: git diff --no-index <path> <path>

তাকে ভুল বুঝতে পারার পক্ষে যথেষ্ট নাও হতে পারে।

যুক্ত করুন " Not a git repository" ত্রুটি বার্তা যখন আমরা মধ্যে পড়ে গিয়েছিলেন থেকে " --no-indexতা করার আমাদের নির্দেশ করতে বর্ণিত কমান্ড লাইন বিকল্প ছাড়া" মোড।


দেখা:

" diff --no-index" এর জন্য ডকুমেন্টেশন পরিষ্কার করুন ।
উল্লেখ করুন যে যখন কোনও সংগ্রহস্থলের অভ্যন্তরে না থাকে, --no-indexতখনই নিহিত থাকে এবং দুটি আর্গুমেন্ট বাধ্যতামূলক হয়।

diff-no-indexব্যবহারকারীকে জানাতে ত্রুটির বার্তাটি পরিষ্কার করুন যে সিডব্লিউডি কোনও সংগ্রহস্থলের ভিতরে নেই এবং সুতরাং দুটি যুক্তি বাধ্যতামূলক।

To compare two paths outside a working tree:
usage: git diff --no-index <path> <path>

2

আপনার কার্যক্ষম ডিরেক্টরিটি পরিষ্কার থাকলে এবং শেষ আপডেট থেকে কোনও পার্থক্য না থাকলে এটি কিছুই করে না। একটি ফাইল সম্পাদনা করার চেষ্টা করুন এবং আবার গিট ডিফটি চালান এবং এটির পরে পৃথকটি দেখাতে হবে।


1

আপনি যদি এটি কোনও আসল সংগ্রহস্থল বা ওয়ার্ক-কপির বাইরে ব্যবহার করেন তবে এর আচরণটি জিএনইউ ডিফের মতো। সুতরাং তুলনা করার জন্য আপনাকে 2 ডিরেক্টরি বা ফাইলগুলি অবহিত করতে হবে। উদাহরণ:

git diff old_dir new_dir

যদি তাদের মধ্যে কোনও পার্থক্য থাকে তবে আউটপুট আপনাকে প্রত্যাশিত হিসাবে দেখাবে।


0

আপনার ক্ষেত্রে নয়, তবে সম্ভবত আপনি পাস করা ফাইলটির অস্তিত্ব নেই

$ git difftool HEAD HEAD^ -- path/that-not-exists

কিছুই ঘটে নাই

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