Git undo all changes with clearing reflog?












0















How to undo all working changes in local repository for two month(new branches, commit, etc.)? Reflog history also need to clear.










share|improve this question























  • Hi and welcome to SO. Do you have some commit (hash) that you want to revert to or do you want to start completely fresh? There are many similar questions but I don't know if they are what you are looking for. Please provide a little bit more information so that we can help you :) EDIT: possible duplicate of: stackoverflow.com/questions/49067898/…

    – Nemanja Glumac
    Nov 15 '18 at 14:17













  • Remove commits with git reset --hard and clear reflog with git reflog expire.

    – phd
    Nov 15 '18 at 15:03











  • Hello. I want to clear all local changes in git by date. For example I set 01.09.2018 and all work (new branches, commits) and history after this date will be remove.

    – Игорь Жукович
    Nov 15 '18 at 15:57


















0















How to undo all working changes in local repository for two month(new branches, commit, etc.)? Reflog history also need to clear.










share|improve this question























  • Hi and welcome to SO. Do you have some commit (hash) that you want to revert to or do you want to start completely fresh? There are many similar questions but I don't know if they are what you are looking for. Please provide a little bit more information so that we can help you :) EDIT: possible duplicate of: stackoverflow.com/questions/49067898/…

    – Nemanja Glumac
    Nov 15 '18 at 14:17













  • Remove commits with git reset --hard and clear reflog with git reflog expire.

    – phd
    Nov 15 '18 at 15:03











  • Hello. I want to clear all local changes in git by date. For example I set 01.09.2018 and all work (new branches, commits) and history after this date will be remove.

    – Игорь Жукович
    Nov 15 '18 at 15:57
















0












0








0








How to undo all working changes in local repository for two month(new branches, commit, etc.)? Reflog history also need to clear.










share|improve this question














How to undo all working changes in local repository for two month(new branches, commit, etc.)? Reflog history also need to clear.







git undo






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 15 '18 at 14:07









Игорь ЖуковичИгорь Жукович

11




11













  • Hi and welcome to SO. Do you have some commit (hash) that you want to revert to or do you want to start completely fresh? There are many similar questions but I don't know if they are what you are looking for. Please provide a little bit more information so that we can help you :) EDIT: possible duplicate of: stackoverflow.com/questions/49067898/…

    – Nemanja Glumac
    Nov 15 '18 at 14:17













  • Remove commits with git reset --hard and clear reflog with git reflog expire.

    – phd
    Nov 15 '18 at 15:03











  • Hello. I want to clear all local changes in git by date. For example I set 01.09.2018 and all work (new branches, commits) and history after this date will be remove.

    – Игорь Жукович
    Nov 15 '18 at 15:57





















  • Hi and welcome to SO. Do you have some commit (hash) that you want to revert to or do you want to start completely fresh? There are many similar questions but I don't know if they are what you are looking for. Please provide a little bit more information so that we can help you :) EDIT: possible duplicate of: stackoverflow.com/questions/49067898/…

    – Nemanja Glumac
    Nov 15 '18 at 14:17













  • Remove commits with git reset --hard and clear reflog with git reflog expire.

    – phd
    Nov 15 '18 at 15:03











  • Hello. I want to clear all local changes in git by date. For example I set 01.09.2018 and all work (new branches, commits) and history after this date will be remove.

    – Игорь Жукович
    Nov 15 '18 at 15:57



















Hi and welcome to SO. Do you have some commit (hash) that you want to revert to or do you want to start completely fresh? There are many similar questions but I don't know if they are what you are looking for. Please provide a little bit more information so that we can help you :) EDIT: possible duplicate of: stackoverflow.com/questions/49067898/…

– Nemanja Glumac
Nov 15 '18 at 14:17







Hi and welcome to SO. Do you have some commit (hash) that you want to revert to or do you want to start completely fresh? There are many similar questions but I don't know if they are what you are looking for. Please provide a little bit more information so that we can help you :) EDIT: possible duplicate of: stackoverflow.com/questions/49067898/…

– Nemanja Glumac
Nov 15 '18 at 14:17















Remove commits with git reset --hard and clear reflog with git reflog expire.

– phd
Nov 15 '18 at 15:03





Remove commits with git reset --hard and clear reflog with git reflog expire.

– phd
Nov 15 '18 at 15:03













Hello. I want to clear all local changes in git by date. For example I set 01.09.2018 and all work (new branches, commits) and history after this date will be remove.

– Игорь Жукович
Nov 15 '18 at 15:57







Hello. I want to clear all local changes in git by date. For example I set 01.09.2018 and all work (new branches, commits) and history after this date will be remove.

– Игорь Жукович
Nov 15 '18 at 15:57














1 Answer
1






active

oldest

votes


















0














This question will help you find the commit you want: How do I view all commits for a specific day?
With your example, the first commit listed by this command is the one you want:



git log --until="2018-09-01"


Then you can use @phd's suggestion and reset your sandbox to that commit's sha1:



git reset --hard <sha1>


Warning: this reset command will also move the HEAD of your current branch to that commit. This is probably what you want but you need to be aware of it.



Unfortunately, you will have to do this for each branch one at a time, so I realize this is not the global solution you're looking for.



As for the reflog, I've looked at what expire does, and it cleans older references. I don't see how to remove the newest lines in the reflog, since that's contrary to what the reflog is intended to do. However, the reflog is stored in .git/logs/HEAD. Manually deleting lines from that file works, but I don't see an easy way to find which of those lines are after a specific date. If you edit this file, keep in mind the most recent entries are at the end, not at the beginning like git reflog shows.






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',
    autoActivateHeartbeat: false,
    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%2f53321257%2fgit-undo-all-changes-with-clearing-reflog%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    This question will help you find the commit you want: How do I view all commits for a specific day?
    With your example, the first commit listed by this command is the one you want:



    git log --until="2018-09-01"


    Then you can use @phd's suggestion and reset your sandbox to that commit's sha1:



    git reset --hard <sha1>


    Warning: this reset command will also move the HEAD of your current branch to that commit. This is probably what you want but you need to be aware of it.



    Unfortunately, you will have to do this for each branch one at a time, so I realize this is not the global solution you're looking for.



    As for the reflog, I've looked at what expire does, and it cleans older references. I don't see how to remove the newest lines in the reflog, since that's contrary to what the reflog is intended to do. However, the reflog is stored in .git/logs/HEAD. Manually deleting lines from that file works, but I don't see an easy way to find which of those lines are after a specific date. If you edit this file, keep in mind the most recent entries are at the end, not at the beginning like git reflog shows.






    share|improve this answer






























      0














      This question will help you find the commit you want: How do I view all commits for a specific day?
      With your example, the first commit listed by this command is the one you want:



      git log --until="2018-09-01"


      Then you can use @phd's suggestion and reset your sandbox to that commit's sha1:



      git reset --hard <sha1>


      Warning: this reset command will also move the HEAD of your current branch to that commit. This is probably what you want but you need to be aware of it.



      Unfortunately, you will have to do this for each branch one at a time, so I realize this is not the global solution you're looking for.



      As for the reflog, I've looked at what expire does, and it cleans older references. I don't see how to remove the newest lines in the reflog, since that's contrary to what the reflog is intended to do. However, the reflog is stored in .git/logs/HEAD. Manually deleting lines from that file works, but I don't see an easy way to find which of those lines are after a specific date. If you edit this file, keep in mind the most recent entries are at the end, not at the beginning like git reflog shows.






      share|improve this answer




























        0












        0








        0







        This question will help you find the commit you want: How do I view all commits for a specific day?
        With your example, the first commit listed by this command is the one you want:



        git log --until="2018-09-01"


        Then you can use @phd's suggestion and reset your sandbox to that commit's sha1:



        git reset --hard <sha1>


        Warning: this reset command will also move the HEAD of your current branch to that commit. This is probably what you want but you need to be aware of it.



        Unfortunately, you will have to do this for each branch one at a time, so I realize this is not the global solution you're looking for.



        As for the reflog, I've looked at what expire does, and it cleans older references. I don't see how to remove the newest lines in the reflog, since that's contrary to what the reflog is intended to do. However, the reflog is stored in .git/logs/HEAD. Manually deleting lines from that file works, but I don't see an easy way to find which of those lines are after a specific date. If you edit this file, keep in mind the most recent entries are at the end, not at the beginning like git reflog shows.






        share|improve this answer















        This question will help you find the commit you want: How do I view all commits for a specific day?
        With your example, the first commit listed by this command is the one you want:



        git log --until="2018-09-01"


        Then you can use @phd's suggestion and reset your sandbox to that commit's sha1:



        git reset --hard <sha1>


        Warning: this reset command will also move the HEAD of your current branch to that commit. This is probably what you want but you need to be aware of it.



        Unfortunately, you will have to do this for each branch one at a time, so I realize this is not the global solution you're looking for.



        As for the reflog, I've looked at what expire does, and it cleans older references. I don't see how to remove the newest lines in the reflog, since that's contrary to what the reflog is intended to do. However, the reflog is stored in .git/logs/HEAD. Manually deleting lines from that file works, but I don't see an easy way to find which of those lines are after a specific date. If you edit this file, keep in mind the most recent entries are at the end, not at the beginning like git reflog shows.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 15 '18 at 16:31

























        answered Nov 15 '18 at 16:25









        joanisjoanis

        1,249515




        1,249515
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53321257%2fgit-undo-all-changes-with-clearing-reflog%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Xamarin.iOS Cant Deploy on Iphone

            Glorious Revolution

            Dulmage-Mendelsohn matrix decomposition in Python