git rebase is not working












3















I made some commits in my local repo and have pushed them to the online repo too.



Then i realized that there are to many commits and i want to squash them into little. Preferably from second last one to first one. i.e. keeping current commit and squashing all other my commits.



when i do



 git rebase -i origin/branch_name


Window with noop pops up. I do not see any pick. What should i do ?










share|improve this question


















  • 3





    you can't squash pushed commits

    – njzk2
    Sep 6 '13 at 8:33











  • I asked it here can you tell if its right: stackoverflow.com/questions/18651000/…

    – Ashish Negi
    Sep 6 '13 at 8:35






  • 3





    technically, you can if you have the rights on your distant repo. but that's really a bad practice

    – njzk2
    Sep 6 '13 at 8:37











  • Yaa but, thats just my branch and its good for learning. Sometimes tough times call for tough decisions.

    – Ashish Negi
    Sep 6 '13 at 8:40
















3















I made some commits in my local repo and have pushed them to the online repo too.



Then i realized that there are to many commits and i want to squash them into little. Preferably from second last one to first one. i.e. keeping current commit and squashing all other my commits.



when i do



 git rebase -i origin/branch_name


Window with noop pops up. I do not see any pick. What should i do ?










share|improve this question


















  • 3





    you can't squash pushed commits

    – njzk2
    Sep 6 '13 at 8:33











  • I asked it here can you tell if its right: stackoverflow.com/questions/18651000/…

    – Ashish Negi
    Sep 6 '13 at 8:35






  • 3





    technically, you can if you have the rights on your distant repo. but that's really a bad practice

    – njzk2
    Sep 6 '13 at 8:37











  • Yaa but, thats just my branch and its good for learning. Sometimes tough times call for tough decisions.

    – Ashish Negi
    Sep 6 '13 at 8:40














3












3








3








I made some commits in my local repo and have pushed them to the online repo too.



Then i realized that there are to many commits and i want to squash them into little. Preferably from second last one to first one. i.e. keeping current commit and squashing all other my commits.



when i do



 git rebase -i origin/branch_name


Window with noop pops up. I do not see any pick. What should i do ?










share|improve this question














I made some commits in my local repo and have pushed them to the online repo too.



Then i realized that there are to many commits and i want to squash them into little. Preferably from second last one to first one. i.e. keeping current commit and squashing all other my commits.



when i do



 git rebase -i origin/branch_name


Window with noop pops up. I do not see any pick. What should i do ?







git github






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Sep 6 '13 at 8:32









Ashish NegiAshish Negi

2,51153674




2,51153674








  • 3





    you can't squash pushed commits

    – njzk2
    Sep 6 '13 at 8:33











  • I asked it here can you tell if its right: stackoverflow.com/questions/18651000/…

    – Ashish Negi
    Sep 6 '13 at 8:35






  • 3





    technically, you can if you have the rights on your distant repo. but that's really a bad practice

    – njzk2
    Sep 6 '13 at 8:37











  • Yaa but, thats just my branch and its good for learning. Sometimes tough times call for tough decisions.

    – Ashish Negi
    Sep 6 '13 at 8:40














  • 3





    you can't squash pushed commits

    – njzk2
    Sep 6 '13 at 8:33











  • I asked it here can you tell if its right: stackoverflow.com/questions/18651000/…

    – Ashish Negi
    Sep 6 '13 at 8:35






  • 3





    technically, you can if you have the rights on your distant repo. but that's really a bad practice

    – njzk2
    Sep 6 '13 at 8:37











  • Yaa but, thats just my branch and its good for learning. Sometimes tough times call for tough decisions.

    – Ashish Negi
    Sep 6 '13 at 8:40








3




3





you can't squash pushed commits

– njzk2
Sep 6 '13 at 8:33





you can't squash pushed commits

– njzk2
Sep 6 '13 at 8:33













I asked it here can you tell if its right: stackoverflow.com/questions/18651000/…

– Ashish Negi
Sep 6 '13 at 8:35





I asked it here can you tell if its right: stackoverflow.com/questions/18651000/…

– Ashish Negi
Sep 6 '13 at 8:35




3




3





technically, you can if you have the rights on your distant repo. but that's really a bad practice

– njzk2
Sep 6 '13 at 8:37





technically, you can if you have the rights on your distant repo. but that's really a bad practice

– njzk2
Sep 6 '13 at 8:37













Yaa but, thats just my branch and its good for learning. Sometimes tough times call for tough decisions.

– Ashish Negi
Sep 6 '13 at 8:40





Yaa but, thats just my branch and its good for learning. Sometimes tough times call for tough decisions.

– Ashish Negi
Sep 6 '13 at 8:40












2 Answers
2






active

oldest

votes


















2














When I get the noop message, it usually means the branch used in the argument of git rebase -i is ahead of checked out branch.



git log A..B
# prints the commits between A's head and B's head

git log B..A
# prints nothing

git status
# On branch A

git rebase -i B
# got 'noop' because there are no commits in the log above


In this case, it helps to swap the two affected branches.



git checkout B
git rebase -i A





share|improve this answer

































    0














    The argument for the rebase command is the range of commits you want to squash. In your case, probably something like :



    git rebase -i <sha-1 for first commit>..HEAD^


    (HEAD^ being the parent commit to the head of your branch).



    Then, you replace the pick commands in the interactive script by squash






    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%2f18653323%2fgit-rebase-is-not-working%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      2














      When I get the noop message, it usually means the branch used in the argument of git rebase -i is ahead of checked out branch.



      git log A..B
      # prints the commits between A's head and B's head

      git log B..A
      # prints nothing

      git status
      # On branch A

      git rebase -i B
      # got 'noop' because there are no commits in the log above


      In this case, it helps to swap the two affected branches.



      git checkout B
      git rebase -i A





      share|improve this answer






























        2














        When I get the noop message, it usually means the branch used in the argument of git rebase -i is ahead of checked out branch.



        git log A..B
        # prints the commits between A's head and B's head

        git log B..A
        # prints nothing

        git status
        # On branch A

        git rebase -i B
        # got 'noop' because there are no commits in the log above


        In this case, it helps to swap the two affected branches.



        git checkout B
        git rebase -i A





        share|improve this answer




























          2












          2








          2







          When I get the noop message, it usually means the branch used in the argument of git rebase -i is ahead of checked out branch.



          git log A..B
          # prints the commits between A's head and B's head

          git log B..A
          # prints nothing

          git status
          # On branch A

          git rebase -i B
          # got 'noop' because there are no commits in the log above


          In this case, it helps to swap the two affected branches.



          git checkout B
          git rebase -i A





          share|improve this answer















          When I get the noop message, it usually means the branch used in the argument of git rebase -i is ahead of checked out branch.



          git log A..B
          # prints the commits between A's head and B's head

          git log B..A
          # prints nothing

          git status
          # On branch A

          git rebase -i B
          # got 'noop' because there are no commits in the log above


          In this case, it helps to swap the two affected branches.



          git checkout B
          git rebase -i A






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Jan 2 at 8:10

























          answered Jan 16 '14 at 12:02









          MelebiusMelebius

          3,08532235




          3,08532235

























              0














              The argument for the rebase command is the range of commits you want to squash. In your case, probably something like :



              git rebase -i <sha-1 for first commit>..HEAD^


              (HEAD^ being the parent commit to the head of your branch).



              Then, you replace the pick commands in the interactive script by squash






              share|improve this answer




























                0














                The argument for the rebase command is the range of commits you want to squash. In your case, probably something like :



                git rebase -i <sha-1 for first commit>..HEAD^


                (HEAD^ being the parent commit to the head of your branch).



                Then, you replace the pick commands in the interactive script by squash






                share|improve this answer


























                  0












                  0








                  0







                  The argument for the rebase command is the range of commits you want to squash. In your case, probably something like :



                  git rebase -i <sha-1 for first commit>..HEAD^


                  (HEAD^ being the parent commit to the head of your branch).



                  Then, you replace the pick commands in the interactive script by squash






                  share|improve this answer













                  The argument for the rebase command is the range of commits you want to squash. In your case, probably something like :



                  git rebase -i <sha-1 for first commit>..HEAD^


                  (HEAD^ being the parent commit to the head of your branch).



                  Then, you replace the pick commands in the interactive script by squash







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Sep 6 '13 at 8:43









                  njzk2njzk2

                  32.9k44991




                  32.9k44991






























                      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%2f18653323%2fgit-rebase-is-not-working%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

                      MongoDB - Not Authorized To Execute Command

                      in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

                      Npm cannot find a required file even through it is in the searched directory