2012-04-17 147 views
1

如果在分支之後創建此文件,是否有方法可以找到從項目中刪除文件的合併?下面的步驟重現我的問題應該澄清:
如何找到因爲「git merge master -s our」而丟失的文件

  • 的git的init
  • 觸摸文件1
  • 混帳添加文件1
  • git的承諾文件1 -m
  • 混帳分支newbranch 「在主補充文件1」
  • touch file2
  • git add file2
  • git commit文件2 -m 「在主加入file2的分支之後」
  • 回聲 「主變化到file1」 >>的file1
  • git的承諾的file1 -m
  • GIT中結帳newbranch
  • 回聲「newbranch 「在主文件1改變」改變到file1" >>文件1
  • git的承諾文件1 -m 「在newbranch」
  • 混帳合併主改變文件1 -s我們
  • 觸摸文件3
  • 混帳添加文件3
  • git的承諾file3的-m 「加入newbranch file3的」
  • GIT中結帳主
  • 觸摸file4將
  • GIT中添加file4將
  • git的承諾file4將-m 「加入主file4將」
  • GIT中合併newbranch

現在,怎麼可能找到提交(合併),刪除file2(我的意思是合併,發生在這條線/命令:「git merge master -s our」)。

編輯:

  • git的日誌--graph --format = ONELINE
 
* 010a604feef300244386490f9c7c777dc9af6b16 Merge branch 'newbranch' 
|\ 
| * 3e7f3f6b53c2c92d137fa5a3bac190aa4c3e641f added file3 in newbranch 
| * b07090c2c6dd5cd2783f3db160f5b6f433beb544 Merge branch 'master' into newbranch 
| |\ 
| * | a0053413ab81869574475c0ce889ee721f5ed254 changed file1 in newbranch4 
* | | 859e813acd24c2090287ef9d83da339c06f1c754 added file4 in master 
| |/ 
|/| 
* | 0004dc5cfe23874208c6a921f9c7434fcffba8f4 changed file1 in master 
* | 172d20a93ba40fb040348acc5ffe2ad45803ec22 added file2 in master after branching 
|/ 
* 6a59be0a3d4203db84b67c02231c420b518fc349 added file1 in master 

的承諾我在找的是:b07090c2c6dd5cd2783f3db160f5b6f433beb544

  • git的日誌-g --diff-filter = D - file2

回報:提交6a59be0a3d4203db84b67c02231c420b518fc349

  • git的日誌-g --diff過濾= d --follow - 文件2個

回報:提交010a604feef300244386490f9c7c777dc9af6b16

奇怪的是在我我發現問題的存儲庫,git log -g --diff-filter = D - 文件名確實給了我正確的提交。

+1

reflog幫助你嗎? http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html – Sgoettschkes 2012-04-17 14:58:12

+0

* git log -g --diff-filter = D - 這並沒有在工作例如我在我的問題中寫道。但是,它確實爲我的git reposetory工作,因爲我遇到了問題。 – 2012-04-17 15:29:36

回答

0

做到這一點的一種方法是git log --all --raw --diff-filter=D -m--all是看所有的分支,而不是你目前的分支。我離開-g,因爲它只搜索引用日誌,並且如果一個或多個合併是在另一個repo上完成的,那麼您的引用日誌可能從未訪問過您要查找的提交。 -m--raw顯示了每次提交時發生的事情,包括合併(除衝突外通常都是隱藏的)。這個命令標記兩個合併爲file2被刪除的點,至少對於你發佈的場景...

+0

我剛剛用我們的問題對它進行了測試,並且它向我展示了正確的提交。非常感謝。 – 2013-05-29 09:43:16