Git undo all changes with clearing reflog?
How to undo all working changes in local repository for two month(new branches, commit, etc.)? Reflog history also need to clear.
git undo
add a comment |
How to undo all working changes in local repository for two month(new branches, commit, etc.)? Reflog history also need to clear.
git undo
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 withgit reset --hard
and clear reflog withgit 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
add a comment |
How to undo all working changes in local repository for two month(new branches, commit, etc.)? Reflog history also need to clear.
git undo
How to undo all working changes in local repository for two month(new branches, commit, etc.)? Reflog history also need to clear.
git undo
git undo
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 withgit reset --hard
and clear reflog withgit 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
add a comment |
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 withgit reset --hard
and clear reflog withgit 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
add a comment |
1 Answer
1
active
oldest
votes
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.
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%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
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.
add a comment |
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.
add a comment |
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.
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.
edited Nov 15 '18 at 16:31
answered Nov 15 '18 at 16:25
joanisjoanis
1,249515
1,249515
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%2f53321257%2fgit-undo-all-changes-with-clearing-reflog%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
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 withgit 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