Why is git diff only working with option --cached?











up vote
1
down vote

favorite












If I execute git diff file.php then I don't get any response.



I always have to execute git diff --cached file.php.



Why is --cached not automatically executed and why do I have to do this?



I am using git version 2.17.0.windows.1










share|improve this question


























    up vote
    1
    down vote

    favorite












    If I execute git diff file.php then I don't get any response.



    I always have to execute git diff --cached file.php.



    Why is --cached not automatically executed and why do I have to do this?



    I am using git version 2.17.0.windows.1










    share|improve this question
























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      If I execute git diff file.php then I don't get any response.



      I always have to execute git diff --cached file.php.



      Why is --cached not automatically executed and why do I have to do this?



      I am using git version 2.17.0.windows.1










      share|improve this question













      If I execute git diff file.php then I don't get any response.



      I always have to execute git diff --cached file.php.



      Why is --cached not automatically executed and why do I have to do this?



      I am using git version 2.17.0.windows.1







      git






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 20 mins ago









      Black

      4,21784194




      4,21784194
























          2 Answers
          2






          active

          oldest

          votes

















          up vote
          2
          down vote



          accepted










          git diff <file> compare the file in working dir vs in index.



          So if you already added the file (by git add) from working dir to index, then:




          1. there is no diff between working dir and index.

          2. but there is diff between the current commit (pointed by HEAD) and index, this diff is shown with the --cached option.





          share




























            up vote
            1
            down vote













            The purpose of the git diff command is to compare the state of your index with your files present on your filesystem.

            That of the git diff --cached command is to compare the state of your index with the commit your are pointing onto.



            If you did changes to your file file.php that you did not already stage (using git add), then you should use git diff in order to see the changes.

            But if you already did git add on this file, then a copy has been placed in your index, so to see the changes, you have to use the git diff --cached command.






            share|improve this answer










            New contributor




            mistiru is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.


















            • You are right, there is no output after adding the file to the staging area! Thx!
              – Black
              10 mins ago










            • "that you did not already commit" should probably read "that you did not already stage/add"
              – ohlec
              6 mins ago










            • Thank you @ohlec, I typed too quicly ^^"
              – mistiru
              3 mins ago











            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53204338%2fwhy-is-git-diff-only-working-with-option-cached%23new-answer', 'question_page');
            }
            );

            Post as a guest
































            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            2
            down vote



            accepted










            git diff <file> compare the file in working dir vs in index.



            So if you already added the file (by git add) from working dir to index, then:




            1. there is no diff between working dir and index.

            2. but there is diff between the current commit (pointed by HEAD) and index, this diff is shown with the --cached option.





            share

























              up vote
              2
              down vote



              accepted










              git diff <file> compare the file in working dir vs in index.



              So if you already added the file (by git add) from working dir to index, then:




              1. there is no diff between working dir and index.

              2. but there is diff between the current commit (pointed by HEAD) and index, this diff is shown with the --cached option.





              share























                up vote
                2
                down vote



                accepted







                up vote
                2
                down vote



                accepted






                git diff <file> compare the file in working dir vs in index.



                So if you already added the file (by git add) from working dir to index, then:




                1. there is no diff between working dir and index.

                2. but there is diff between the current commit (pointed by HEAD) and index, this diff is shown with the --cached option.





                share












                git diff <file> compare the file in working dir vs in index.



                So if you already added the file (by git add) from working dir to index, then:




                1. there is no diff between working dir and index.

                2. but there is diff between the current commit (pointed by HEAD) and index, this diff is shown with the --cached option.






                share











                share


                share










                answered 9 mins ago









                Kata

                817410




                817410
























                    up vote
                    1
                    down vote













                    The purpose of the git diff command is to compare the state of your index with your files present on your filesystem.

                    That of the git diff --cached command is to compare the state of your index with the commit your are pointing onto.



                    If you did changes to your file file.php that you did not already stage (using git add), then you should use git diff in order to see the changes.

                    But if you already did git add on this file, then a copy has been placed in your index, so to see the changes, you have to use the git diff --cached command.






                    share|improve this answer










                    New contributor




                    mistiru is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.


















                    • You are right, there is no output after adding the file to the staging area! Thx!
                      – Black
                      10 mins ago










                    • "that you did not already commit" should probably read "that you did not already stage/add"
                      – ohlec
                      6 mins ago










                    • Thank you @ohlec, I typed too quicly ^^"
                      – mistiru
                      3 mins ago















                    up vote
                    1
                    down vote













                    The purpose of the git diff command is to compare the state of your index with your files present on your filesystem.

                    That of the git diff --cached command is to compare the state of your index with the commit your are pointing onto.



                    If you did changes to your file file.php that you did not already stage (using git add), then you should use git diff in order to see the changes.

                    But if you already did git add on this file, then a copy has been placed in your index, so to see the changes, you have to use the git diff --cached command.






                    share|improve this answer










                    New contributor




                    mistiru is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.


















                    • You are right, there is no output after adding the file to the staging area! Thx!
                      – Black
                      10 mins ago










                    • "that you did not already commit" should probably read "that you did not already stage/add"
                      – ohlec
                      6 mins ago










                    • Thank you @ohlec, I typed too quicly ^^"
                      – mistiru
                      3 mins ago













                    up vote
                    1
                    down vote










                    up vote
                    1
                    down vote









                    The purpose of the git diff command is to compare the state of your index with your files present on your filesystem.

                    That of the git diff --cached command is to compare the state of your index with the commit your are pointing onto.



                    If you did changes to your file file.php that you did not already stage (using git add), then you should use git diff in order to see the changes.

                    But if you already did git add on this file, then a copy has been placed in your index, so to see the changes, you have to use the git diff --cached command.






                    share|improve this answer










                    New contributor




                    mistiru is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.









                    The purpose of the git diff command is to compare the state of your index with your files present on your filesystem.

                    That of the git diff --cached command is to compare the state of your index with the commit your are pointing onto.



                    If you did changes to your file file.php that you did not already stage (using git add), then you should use git diff in order to see the changes.

                    But if you already did git add on this file, then a copy has been placed in your index, so to see the changes, you have to use the git diff --cached command.







                    share|improve this answer










                    New contributor




                    mistiru is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.









                    share|improve this answer



                    share|improve this answer








                    edited 4 mins ago





















                    New contributor




                    mistiru is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.









                    answered 12 mins ago









                    mistiru

                    114




                    114




                    New contributor




                    mistiru is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.





                    New contributor





                    mistiru is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.






                    mistiru is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.












                    • You are right, there is no output after adding the file to the staging area! Thx!
                      – Black
                      10 mins ago










                    • "that you did not already commit" should probably read "that you did not already stage/add"
                      – ohlec
                      6 mins ago










                    • Thank you @ohlec, I typed too quicly ^^"
                      – mistiru
                      3 mins ago


















                    • You are right, there is no output after adding the file to the staging area! Thx!
                      – Black
                      10 mins ago










                    • "that you did not already commit" should probably read "that you did not already stage/add"
                      – ohlec
                      6 mins ago










                    • Thank you @ohlec, I typed too quicly ^^"
                      – mistiru
                      3 mins ago
















                    You are right, there is no output after adding the file to the staging area! Thx!
                    – Black
                    10 mins ago




                    You are right, there is no output after adding the file to the staging area! Thx!
                    – Black
                    10 mins ago












                    "that you did not already commit" should probably read "that you did not already stage/add"
                    – ohlec
                    6 mins ago




                    "that you did not already commit" should probably read "that you did not already stage/add"
                    – ohlec
                    6 mins ago












                    Thank you @ohlec, I typed too quicly ^^"
                    – mistiru
                    3 mins ago




                    Thank you @ohlec, I typed too quicly ^^"
                    – mistiru
                    3 mins ago


















                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53204338%2fwhy-is-git-diff-only-working-with-option-cached%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest




















































































                    Popular posts from this blog

                    鏡平學校

                    ꓛꓣだゔៀៅຸ໢ທຮ໕໒ ,ໂ'໥໓າ໼ឨឲ៵៭ៈゎゔit''䖳𥁄卿' ☨₤₨こゎもょの;ꜹꟚꞖꞵꟅꞛေၦေɯ,ɨɡ𛃵𛁹ޝ޳ޠ޾,ޤޒޯ޾𫝒𫠁သ𛅤チョ'サノބޘދ𛁐ᶿᶇᶀᶋᶠ㨑㽹⻮ꧬ꧹؍۩وَؠ㇕㇃㇪ ㇦㇋㇋ṜẰᵡᴠ 軌ᵕ搜۳ٰޗޮ޷ސޯ𫖾𫅀ल, ꙭ꙰ꚅꙁꚊꞻꝔ꟠Ꝭㄤﺟޱސꧨꧼ꧴ꧯꧽ꧲ꧯ'⽹⽭⾁⿞⼳⽋២៩ញណើꩯꩤ꩸ꩮᶻᶺᶧᶂ𫳲𫪭𬸄𫵰𬖩𬫣𬊉ၲ𛅬㕦䬺𫝌𫝼,,𫟖𫞽ហៅ஫㆔ాఆఅꙒꚞꙍ,Ꙟ꙱エ ,ポテ,フࢰࢯ𫟠𫞶 𫝤𫟠ﺕﹱﻜﻣ𪵕𪭸𪻆𪾩𫔷ġ,ŧآꞪ꟥,ꞔꝻ♚☹⛵𛀌ꬷꭞȄƁƪƬșƦǙǗdžƝǯǧⱦⱰꓕꓢႋ神 ဴ၀க௭எ௫ឫោ ' េㇷㇴㇼ神ㇸㇲㇽㇴㇼㇻㇸ'ㇸㇿㇸㇹㇰㆣꓚꓤ₡₧ ㄨㄟ㄂ㄖㄎ໗ツڒذ₶।ऩछएोञयूटक़कयँृी,冬'𛅢𛅥ㇱㇵㇶ𥄥𦒽𠣧𠊓𧢖𥞘𩔋цѰㄠſtʯʭɿʆʗʍʩɷɛ,əʏダヵㄐㄘR{gỚṖḺờṠṫảḙḭᴮᵏᴘᵀᵷᵕᴜᴏᵾq﮲ﲿﴽﭙ軌ﰬﶚﶧ﫲Ҝжюїкӈㇴffצּ﬘﭅﬈軌'ffistfflſtffतभफɳɰʊɲʎ𛁱𛁖𛁮𛀉 𛂯𛀞నఋŀŲ 𫟲𫠖𫞺ຆຆ ໹້໕໗ๆทԊꧢꧠ꧰ꓱ⿝⼑ŎḬẃẖỐẅ ,ờỰỈỗﮊDžȩꭏꭎꬻ꭮ꬿꭖꭥꭅ㇭神 ⾈ꓵꓑ⺄㄄ㄪㄙㄅㄇstA۵䞽ॶ𫞑𫝄㇉㇇゜軌𩜛𩳠Jﻺ‚Üမ႕ႌႊၐၸဓၞၞၡ៸wyvtᶎᶪᶹစဎ꣡꣰꣢꣤ٗ؋لㇳㇾㇻㇱ㆐㆔,,㆟Ⱶヤマފ޼ޝަݿݞݠݷݐ',ݘ,ݪݙݵ𬝉𬜁𫝨𫞘くせぉて¼óû×ó£…𛅑הㄙくԗԀ5606神45,神796'𪤻𫞧ꓐ㄁ㄘɥɺꓵꓲ3''7034׉ⱦⱠˆ“𫝋ȍ,ꩲ軌꩷ꩶꩧꩫఞ۔فڱێظペサ神ナᴦᵑ47 9238їﻂ䐊䔉㠸﬎ffiﬣ,לּᴷᴦᵛᵽ,ᴨᵤ ᵸᵥᴗᵈꚏꚉꚟ⻆rtǟƴ𬎎

                    Why https connections are so slow when debugging (stepping over) in Java?