git rebase is not working
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
add a comment |
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
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
add a comment |
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
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
git github
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
add a comment |
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
add a comment |
2 Answers
2
active
oldest
votes
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
add a comment |
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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
add a comment |
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
add a comment |
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
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
edited Jan 2 at 8:10
answered Jan 16 '14 at 12:02
MelebiusMelebius
3,08532235
3,08532235
add a comment |
add a comment |
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
add a comment |
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
add a comment |
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
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
answered Sep 6 '13 at 8:43
njzk2njzk2
32.9k44991
32.9k44991
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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