जवाबों:
निम्नलिखित मेरे लिए काम करता है:
git diff master:foo foo
अतीत में, यह हो सकता है:
git diff foo master:foo
--पथ तर्कों से मापदंडों को अलग करने के लिए प्रयास किया था ? git diff -- master:foo foo
git diff -- master:foo fooयह काम नहीं करता है - यह master:fooएक फ़ाइल के रूप में शाखा के बजाय एक गैर-मौजूद फ़ाइल नाम (और इसे अनदेखा करता है) के रूप में arg का इलाज करता है । अंतिम 2 आर्गों को स्विच करने का प्रयास करें - यदि यह काम करता है, तो अंतर की तुलना उलट होनी चाहिए, लेकिन आउटपुट नहीं बदलता है।
git diff master:foo fooलेकिन इसके विपरीत नहीं। मुझे यह समझ में नहीं आता है। जीआईटी 1.7.9.5 / उबंटू 12.04 के साथ मैं कम से कम git diff -R master:foo fooउस अंतर को प्राप्त करने के लिए कर सकता हूं जो मैं वास्तव में चाहता हूं। जब मैं कोशिश करता हूं कि msysgit 1.9.4 / Windows 7 x64 के साथ मैं प्राप्त करूं fatal: unable to read 0000000000000000000000000000000000000000। बिना -Rमुझे आपको 1.7.9.5 git के साथ एक ही त्रुटि संदेश मिलता है, लेकिन 1.9.4 के साथ fatal: master:foo: no such path in the working tree।
आप अपने काम के पेड़ की तुलना एक विशेष शाखा के नाम से करने की कोशिश कर रहे हैं, इसलिए आप यह चाहते हैं:
git diff master -- foo
जो git-diff के इस रूप से है (git-diff मैनपेज देखें)
git diff [--options] <commit> [--] [<path>...]
This form is to view the changes you have in your working tree
relative to the named <commit>. You can use HEAD to compare it with
the latest commit, or a branch name to compare with the tip of a
different branch.
FYI करें, आपके काम करने वाले पेड़ की हर चीज के बजाय आपने जो भी मंचन किया है, उसका अंतर देखने के लिए एक --cached(उर्फ --staged) विकल्प भी है :
git diff [--options] --cached [<commit>] [--] [<path>...]
This form is to view the changes you staged for the next commit
relative to the named <commit>.
...
--staged is a synonym of --cached.
इसके अलावा: git diff master..feature foo
चूंकि git diff foo master:fooमेरे लिए निर्देशिकाओं पर काम नहीं होता है।
git diff branch1:foo master:foo
git difftool tag/branch filename
git difftool-vडॉक्स git-scm.com/docs/git-difftool के अनुसार कोई विकल्प नहीं है । क्या आपका मतलब था -y?
git diff mybranch master -- file
काम भी करना चाहिए
git diff deployment master -- fileऔर किसी भी 2 शाखाओं के साथgit diff master deployment -- file अपेक्षित रूप से काम कर रहे हैं ।
अपनी वर्तमान शाखा की तुलना में स्थानीय परिवर्तन देखने के लिए
git diff .
किसी अन्य मौजूदा शाखा की तुलना में स्थानीय परिवर्तन देखने के लिए
git diff <branch-name> .
किसी विशेष फ़ाइल के परिवर्तनों को देखने के लिए
git diff <branch-name> -- <file-path>
सुनिश्चित करें कि आप git fetchशुरुआत में दौड़ते हैं ।
git diff, मैं हमेशा के बारे में सोच stackoverflow.com/questions/5256249/git-diff-doesnt-show-enough/...