revert a feature in git for temporary











up vote
0
down vote

favorite












I pushed my latest feature but I found there's a critical bug. I want to rollback. So I do git checkout 12345 I got detached HEAD, I don't know how to proceed. Is checkout previous commit even a proper way to revert a feature?










share|improve this question






















  • git-tower.com/learn/git/faq/detached-head-when-checkout-commit. Checking out does not revert anything, but you can continue committing from it to act as if the feature never happened.
    – evolutionxbox
    Nov 11 at 2:15












  • Possible duplicate of Delete commits from a branch in Git
    – phd
    Nov 11 at 10:02










  • stackoverflow.com/search?q=%5Bgit%5D+undo+pushed+commits
    – phd
    Nov 11 at 10:02















up vote
0
down vote

favorite












I pushed my latest feature but I found there's a critical bug. I want to rollback. So I do git checkout 12345 I got detached HEAD, I don't know how to proceed. Is checkout previous commit even a proper way to revert a feature?










share|improve this question






















  • git-tower.com/learn/git/faq/detached-head-when-checkout-commit. Checking out does not revert anything, but you can continue committing from it to act as if the feature never happened.
    – evolutionxbox
    Nov 11 at 2:15












  • Possible duplicate of Delete commits from a branch in Git
    – phd
    Nov 11 at 10:02










  • stackoverflow.com/search?q=%5Bgit%5D+undo+pushed+commits
    – phd
    Nov 11 at 10:02













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I pushed my latest feature but I found there's a critical bug. I want to rollback. So I do git checkout 12345 I got detached HEAD, I don't know how to proceed. Is checkout previous commit even a proper way to revert a feature?










share|improve this question













I pushed my latest feature but I found there's a critical bug. I want to rollback. So I do git checkout 12345 I got detached HEAD, I don't know how to proceed. Is checkout previous commit even a proper way to revert a feature?







git github






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 11 at 2:09









Hoknimo

456




456












  • git-tower.com/learn/git/faq/detached-head-when-checkout-commit. Checking out does not revert anything, but you can continue committing from it to act as if the feature never happened.
    – evolutionxbox
    Nov 11 at 2:15












  • Possible duplicate of Delete commits from a branch in Git
    – phd
    Nov 11 at 10:02










  • stackoverflow.com/search?q=%5Bgit%5D+undo+pushed+commits
    – phd
    Nov 11 at 10:02


















  • git-tower.com/learn/git/faq/detached-head-when-checkout-commit. Checking out does not revert anything, but you can continue committing from it to act as if the feature never happened.
    – evolutionxbox
    Nov 11 at 2:15












  • Possible duplicate of Delete commits from a branch in Git
    – phd
    Nov 11 at 10:02










  • stackoverflow.com/search?q=%5Bgit%5D+undo+pushed+commits
    – phd
    Nov 11 at 10:02
















git-tower.com/learn/git/faq/detached-head-when-checkout-commit. Checking out does not revert anything, but you can continue committing from it to act as if the feature never happened.
– evolutionxbox
Nov 11 at 2:15






git-tower.com/learn/git/faq/detached-head-when-checkout-commit. Checking out does not revert anything, but you can continue committing from it to act as if the feature never happened.
– evolutionxbox
Nov 11 at 2:15














Possible duplicate of Delete commits from a branch in Git
– phd
Nov 11 at 10:02




Possible duplicate of Delete commits from a branch in Git
– phd
Nov 11 at 10:02












stackoverflow.com/search?q=%5Bgit%5D+undo+pushed+commits
– phd
Nov 11 at 10:02




stackoverflow.com/search?q=%5Bgit%5D+undo+pushed+commits
– phd
Nov 11 at 10:02












1 Answer
1






active

oldest

votes

















up vote
0
down vote













Since you've already pushed your changes, your best course of action would be to create a new commit that undoes the unwanted commit. You can do this by using the git-revert command:



git revert <hash of unwanted commit>


Then, push this new commit.





Regarding your detached HEAD state, the HEAD reference is unique to your local repository. By checking out the last good commit, you've rolled back your local repository, however the the server and any other users would not see this. You can move the branch back to a good commit by using git reset --hard <hash of last good commit>, however this rewrites history. If you were to push this (using a force push), the server would probably complain and other users of the repository would encounter conflicts because their local history no longer matches what's on the server.






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%2f53245245%2frevert-a-feature-in-git-for-temporary%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








    up vote
    0
    down vote













    Since you've already pushed your changes, your best course of action would be to create a new commit that undoes the unwanted commit. You can do this by using the git-revert command:



    git revert <hash of unwanted commit>


    Then, push this new commit.





    Regarding your detached HEAD state, the HEAD reference is unique to your local repository. By checking out the last good commit, you've rolled back your local repository, however the the server and any other users would not see this. You can move the branch back to a good commit by using git reset --hard <hash of last good commit>, however this rewrites history. If you were to push this (using a force push), the server would probably complain and other users of the repository would encounter conflicts because their local history no longer matches what's on the server.






    share|improve this answer



























      up vote
      0
      down vote













      Since you've already pushed your changes, your best course of action would be to create a new commit that undoes the unwanted commit. You can do this by using the git-revert command:



      git revert <hash of unwanted commit>


      Then, push this new commit.





      Regarding your detached HEAD state, the HEAD reference is unique to your local repository. By checking out the last good commit, you've rolled back your local repository, however the the server and any other users would not see this. You can move the branch back to a good commit by using git reset --hard <hash of last good commit>, however this rewrites history. If you were to push this (using a force push), the server would probably complain and other users of the repository would encounter conflicts because their local history no longer matches what's on the server.






      share|improve this answer

























        up vote
        0
        down vote










        up vote
        0
        down vote









        Since you've already pushed your changes, your best course of action would be to create a new commit that undoes the unwanted commit. You can do this by using the git-revert command:



        git revert <hash of unwanted commit>


        Then, push this new commit.





        Regarding your detached HEAD state, the HEAD reference is unique to your local repository. By checking out the last good commit, you've rolled back your local repository, however the the server and any other users would not see this. You can move the branch back to a good commit by using git reset --hard <hash of last good commit>, however this rewrites history. If you were to push this (using a force push), the server would probably complain and other users of the repository would encounter conflicts because their local history no longer matches what's on the server.






        share|improve this answer














        Since you've already pushed your changes, your best course of action would be to create a new commit that undoes the unwanted commit. You can do this by using the git-revert command:



        git revert <hash of unwanted commit>


        Then, push this new commit.





        Regarding your detached HEAD state, the HEAD reference is unique to your local repository. By checking out the last good commit, you've rolled back your local repository, however the the server and any other users would not see this. You can move the branch back to a good commit by using git reset --hard <hash of last good commit>, however this rewrites history. If you were to push this (using a force push), the server would probably complain and other users of the repository would encounter conflicts because their local history no longer matches what's on the server.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 11 at 3:10

























        answered Nov 11 at 3:05









        Seth

        1158




        1158






























             

            draft saved


            draft discarded



















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53245245%2frevert-a-feature-in-git-for-temporary%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