Is it possible to replace files from different commits in git with a “unified” patch?









up vote
0
down vote

favorite












I have a git repository with different tags/commits and I want to replace a Makefile (it is different in each version).



In all these versions with my own Makefile.

Is it possible to write only one patch-file that can be applied to all of these commits/tags that will "delete" the individual Makefile and "insert" mine?










share|improve this question



























    up vote
    0
    down vote

    favorite












    I have a git repository with different tags/commits and I want to replace a Makefile (it is different in each version).



    In all these versions with my own Makefile.

    Is it possible to write only one patch-file that can be applied to all of these commits/tags that will "delete" the individual Makefile and "insert" mine?










    share|improve this question

























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I have a git repository with different tags/commits and I want to replace a Makefile (it is different in each version).



      In all these versions with my own Makefile.

      Is it possible to write only one patch-file that can be applied to all of these commits/tags that will "delete" the individual Makefile and "insert" mine?










      share|improve this question















      I have a git repository with different tags/commits and I want to replace a Makefile (it is different in each version).



      In all these versions with my own Makefile.

      Is it possible to write only one patch-file that can be applied to all of these commits/tags that will "delete" the individual Makefile and "insert" mine?







      git makefile git-patch






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 2 days ago









      CodeWizard

      48.1k126387




      48.1k126387










      asked 2 days ago









      sirloin

      132




      132






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          The simple answer is not.



          Why can't you?



          If you wish to update multiple commits you have to update them each one separately due to the way in which git store the date (too long to explain here how)



          What can you do?



          You can write a script to do it.



          The script should look something like:



          # loop on your commits and update the desired file
          git filter-branch --index-filter 'mv "new-file" "old_file"' HEAD



          Note:



          You can use --tree-filter and --index-filter with git filter-branch.
          --index-filter is faster and will update your index file






          share|improve this answer




















            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%2f53237847%2fis-it-possible-to-replace-files-from-different-commits-in-git-with-a-unified-p%23new-answer', 'question_page');

            );

            Post as a guest






























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote



            accepted










            The simple answer is not.



            Why can't you?



            If you wish to update multiple commits you have to update them each one separately due to the way in which git store the date (too long to explain here how)



            What can you do?



            You can write a script to do it.



            The script should look something like:



            # loop on your commits and update the desired file
            git filter-branch --index-filter 'mv "new-file" "old_file"' HEAD



            Note:



            You can use --tree-filter and --index-filter with git filter-branch.
            --index-filter is faster and will update your index file






            share|improve this answer
























              up vote
              0
              down vote



              accepted










              The simple answer is not.



              Why can't you?



              If you wish to update multiple commits you have to update them each one separately due to the way in which git store the date (too long to explain here how)



              What can you do?



              You can write a script to do it.



              The script should look something like:



              # loop on your commits and update the desired file
              git filter-branch --index-filter 'mv "new-file" "old_file"' HEAD



              Note:



              You can use --tree-filter and --index-filter with git filter-branch.
              --index-filter is faster and will update your index file






              share|improve this answer






















                up vote
                0
                down vote



                accepted







                up vote
                0
                down vote



                accepted






                The simple answer is not.



                Why can't you?



                If you wish to update multiple commits you have to update them each one separately due to the way in which git store the date (too long to explain here how)



                What can you do?



                You can write a script to do it.



                The script should look something like:



                # loop on your commits and update the desired file
                git filter-branch --index-filter 'mv "new-file" "old_file"' HEAD



                Note:



                You can use --tree-filter and --index-filter with git filter-branch.
                --index-filter is faster and will update your index file






                share|improve this answer












                The simple answer is not.



                Why can't you?



                If you wish to update multiple commits you have to update them each one separately due to the way in which git store the date (too long to explain here how)



                What can you do?



                You can write a script to do it.



                The script should look something like:



                # loop on your commits and update the desired file
                git filter-branch --index-filter 'mv "new-file" "old_file"' HEAD



                Note:



                You can use --tree-filter and --index-filter with git filter-branch.
                --index-filter is faster and will update your index file







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 2 days ago









                CodeWizard

                48.1k126387




                48.1k126387



























                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53237847%2fis-it-possible-to-replace-files-from-different-commits-in-git-with-a-unified-p%23new-answer', 'question_page');

                    );

                    Post as a guest














































































                    這個網誌中的熱門文章

                    How to read a connectionString WITH PROVIDER in .NET Core?

                    In R, how to develop a multiplot heatmap.2 figure showing key labels successfully

                    Museum of Modern and Contemporary Art of Trento and Rovereto