我在一个包含数百个分支机构和数十个活跃开发人员的存储库中工作。
昨天,为了解决一个紧急问题,我将我的工作交给了我的分支(称为feature/new-foo
),修复了一个新的分支(在git fetch
之后),然后回家。
今天早上,我忘了我的feature/new-foo
分支被叫了。
我尝试了以下内容:
git log --all
,显示所有分支机构的所有最近提交,但无效git branch -v | grep "foo"
,其中搜索了包含foo
字样的所有分支;没有找到好的结果。git for-each-ref --sort=-committerdate refs/heads/
,按提交日期对所有分支进行排序;仍然没有git stash list
,以防万一,我的变化也没有。我在工作中记得的是添加关键字class Edge
。
我应该尝试任何命令,还是我的功能提交永远丢失在分支和提交的海洋中?
这与:this problem
无关答案 0 :(得分:2)
假设没有很多提交,您可以运行此命令以通过上次提交对您的分支进行排序。至少那时,您可以看到您最近承诺的哪些分支机构试图找出它可能是哪一个分支。
# How can I get a list of git branches, ordered by most recent commit?
# http://stackoverflow.com/q/5188320/165988
git for-each-ref --sort=-committerdate refs/heads/
答案 1 :(得分:2)
如果您想使用您添加的关键字来查找分支,您可以检查每个分支的提交日志:
git log --oneline -S "class Edge" --source --all
这将列出引入或删除字符串“class Edge”的所有提交的引用。
答案 2 :(得分:0)
尝试gitk --all
和git reflog
。