我不小心删除了我在IntelliJ中工作的本地分支,现在我找不到它的任何历史记录。我试过使用git reflog,但在repo上没有它的历史记录。我试图在git tool > console标签页中搜索它,但它不在那里。有没有其他方法可以找到/恢复我在本地删除的这个分支?
quhf5bfb1#
看来提交已经从refog中掉了出来,不幸的是,删除一个分支并不会创建一个新的refog条目。但是如果孤立提交仍然存在,你可以强行找到它:1.列出所有孤立提交。This answer展示了如何创建一个名为unreachable.txt的文件。1.对于该文件中的每个提交,显示提交ID、日期、消息标题和作者。比如(使用Git Bash):cat unreachable.txt | grep commit | cut -d " " -f 3 | xargs git log --no-walk --pretty=format:'%h %ad %s | %an' --date=short个1.扫描#2的列表并选择您想要的提交ID,然后在该提交处重新创建一个分支:git branch my-new-branch <commit-ID-from-step-2>个
unreachable.txt
cat unreachable.txt | grep commit | cut -d " " -f 3 | xargs git log --no-walk --pretty=format:'%h %ad %s | %an' --date=short
git branch my-new-branch <commit-ID-from-step-2>
3xiyfsfu2#
此外,要添加IDE提示:在IDE中删除分支后,将显示一条恢复该分支的通知。如果关闭它,它仍将保留在“通知”工具窗口中。
2条答案
按热度按时间quhf5bfb1#
看来提交已经从refog中掉了出来,不幸的是,删除一个分支并不会创建一个新的refog条目。但是如果孤立提交仍然存在,你可以强行找到它:
1.列出所有孤立提交。This answer展示了如何创建一个名为
unreachable.txt
的文件。1.对于该文件中的每个提交,显示提交ID、日期、消息标题和作者。比如(使用Git Bash):
cat unreachable.txt | grep commit | cut -d " " -f 3 | xargs git log --no-walk --pretty=format:'%h %ad %s | %an' --date=short
个1.扫描#2的列表并选择您想要的提交ID,然后在该提交处重新创建一个分支:
git branch my-new-branch <commit-ID-from-step-2>
个3xiyfsfu2#
此外,要添加IDE提示:
在IDE中删除分支后,将显示一条恢复该分支的通知。如果关闭它,它仍将保留在“通知”工具窗口中。