以下是幾分鐘前發生在我身上的事情的簡短回顧。 一切都很好。我現在已經找到了代碼。我只是想知道我可能做錯了什麼來達到這種情況。我想從中學習,這樣我可以在將來再次避免它。我在rebase期間如何顯示丟失數據?
FWIW:最近我一直在做一些改版。我通常不這樣操作,我懷疑答案可能在於一些糟糕的重新分配。我們拭目以待。
發現
所以我只是改變成我記得執行一些提交一個分支。事實上,頭腦提交是包含我想要的改變的提交。然而我的改變不在那裏!
取而代之的是隻有一些變化在那裏。 :(
在仔細觀察我發現,剩下的變化只是刪除。我想就像你可能是,我可能沒有所有的變化調用commit之前,它是我自己的錯增加。
更新:原來的承諾應該已經包含了一些補充說,一些刪除和一些修改的文件這種新的「重訂」提交纔出現,從我期待有刪除
調查
。我最近放棄了一個我認爲我不再需要的東西。也許我的變化在那裏?
我發現this SO question這解釋瞭如何我會找出所有可達提交使用...
gitk --all $(git fsck --no-reflog | awk '/dangling commit/ {print $3}')
我設法找到相同的幾個版本提交(即用相同的提交信息)在創建(alledgedly)同一秒
我覺得這是可以理解的,因爲它們很可能是在一個或多個rebase操作期間生成的副本,並且很可能已被賦予原始提交日期。
那麼這怎麼可能?
這是它變得有趣:
其中一個提交的是其他人不一樣。其中一個提交有我所有的缺失數據。
所以我的問題是......我是如何做到這一點的?我是否以一種可以留下一半可用數據的方式進行重組?
任何線索\理論?
更新: 我已經在評論中詢問了我採取什麼步驟來到這裏。 問題在於這是問題的關鍵。
我可能做了什麼來創建2個或更多的描述匹配但內容不匹配的提交副本?
我可以對我可能用過的作品提出一些建議,但就是這樣。 我一直在做一些簡單的重組。即我參觀了一個分支,執行:
git rebase master
我也做了一些進一步的調查,並發現了正確的承諾確實是最早的。我看過使用gitK,作者旁邊的日期總是在昨天11:50:35。還有另一個日期(提交日期),這似乎與後來的底墊一致,但我發誓,我只用了...
git rebase master
...從給定源分支
它不是很清楚(至少對我來說)你所做的步驟,以達到這種情況。你能修改一下嗎? – noMAD 2013-03-07 16:51:02
「但是我的變化不存在」 - 你能澄清嗎?在提交中沒有,或者在你的工作樹中沒有? – gcbenison 2013-03-07 17:05:59
@noMAD我試圖向底部添加一些細節,但老實說,我試圖找出我可能做了什麼,所以我真的不能告訴你很多。 – 2013-03-07 17:16:26