2010-11-18 75 views
3

我意外丟失了一個分支。我想這是在reflog列表中,但是很難檢查其中的每一個。我記得在該分支中創建了一個文件夾,其中包含一些文件,因此應該可以通過查找影響該文件夾的所有丟失的提交來查找我的分支。所以問題是:我怎麼能找到這些提交?通過已知文件夾名稱恢復丟失提交

回答

2

我應該只指定在引用日誌命令的路徑。在路徑前使用「 - 」(如果它在工作樹中不存在),使用' - '很重要

git reflog -- path/to/the/affected/folder 
+0

請注意,它顯示與'git log -g path/to/it'相同的信息。 – 2010-11-18 18:41:11

0

您可以grep的git lstree輸出,以找到一個分支的提交:

for ID in `git reflog | cut -d' ' -f1` # filter out the commit ID 
do 
    # show the tree for each commit and grep for the file there 
    git ls-tree -r $ID | grep file/name && echo "File is on $ID" 
done