如果在分支之後創建此文件,是否有方法可以找到從項目中刪除文件的合併?下面的步驟重現我的問題應該澄清:
如何找到因爲「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 - 文件名確實給了我正確的提交。
reflog幫助你嗎? http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html – Sgoettschkes 2012-04-17 14:58:12
* git log -g --diff-filter = D - 這並沒有在工作例如我在我的問題中寫道。但是,它確實爲我的git reposetory工作,因爲我遇到了問題。 –
2012-04-17 15:29:36