我與其他一些人一起使用git。我們有一箇中央存儲庫,然後是本地跟蹤分支。最近,我們遇到了一個問題,git會錯誤地認爲主分支和新分支的最後一個共同的祖先提交是隻在我們創建新分支後才被推送的提交,導致當我們合併時撤銷的更改例如:Git選擇錯誤的祖先提交
Alice在主分支的本地副本中進行了一些更改並提交它們,但不推送。說她改變了文件foo.txt的第一行。
Bob從主分支的中央副本中拉出。據他所知,他是最新的。
兩者都繼續工作。在某個時候,Alice推動。後來,鮑勃稱git日誌,並認爲他的分支據稱是愛麗絲改變foo.txt的提交的祖先,儘管他從未拉取過她的更改。正如所料,鮑勃合併時,愛麗絲的變化消失了。
我一直無法重現這一點,但可以從日誌中知道它確實發生在一個點上(即我們有一個分支據稱是對源文件進行更改的提交的後繼者,但這些變化並不存在)。這種事情怎麼可能,我怎麼能阻止它?
根據情況,這是不可能的你列出。有可能的是,某人重置或強制推送,或者做了一些其他操作,而不是簡單地合併到遠程版本的分支中。 – 2011-01-22 00:33:08
「我一直無法複製這個[...]」我們應該如何幫助?如果「愛麗絲」的更改已被撤消,則必須進行提交(可能是合併提交),將其刪除。誰做了這個承諾,怎麼做? – 2011-01-22 00:35:17