2011-09-14 158 views
1

我有兩個分支developpersonal。我使用GitExtensions工具。我在develop分支工作,然後我需要將它與personal合併。我啓動了合併,該工具通知我存在一些衝突(軟件包的不同名稱),並建議使用mergetool來解決衝突。但mergetool沒有照常打開,但我得到了所有衝突解決的消息,我期待着手動解決它們。當然這個意外(?)發生的合併是不正確的,我試圖通過Reset current branch to here恢復這些更改,並選擇我以前的提交。不幸的是所做的更改已恢復(這是可以的),但文件夾的名稱(我的包在Android平臺)沒有。我試圖恢復checkoutreset所做的更改,但是當一切正常時,我無法獲取文件系統的快照。我很新git,請諮詢如何解決此問題。如何恢復我合併兩個分支所做的更改

回答

1

您是否重置了hard? Git中擴展你打勾,說hard

如果你的分支恢復到修改前提交的複選框,凡事都要有復位究竟什麼是你的倉庫處的那個承諾到。如果你說文件夾名稱不正確,你確定他們在那個時間點被追蹤?您可以通過運行git ls-files

瞭解當前是否正在跟蹤他們。如果他們正在被跟蹤,請嘗試在您重置回該點後運行git reset --hard。如果您執行此操作,任何未保存的更改都必須永久丟失,因此請確保您已承諾所做的一切,或者您的更改。

+0

你說得對,他們沒有根據'git ls-files'進行跟蹤。我不知道這是怎麼發生的。有一天我重命名了它們,並重新命名了這些重命名。我的源文件也在這些重命名的文件夾中。現在文件已到位,但沒有重命名文件夾。非常奇怪的是,我無法將我的頭裹在這個狗屎上。 – Eugene

+0

看看你提交重命名的提交,看看你是否確實提交了它們。 'git status'說什麼?有未決的重命名嗎? – Andy

+0

是否有可能找到創建「個人」分支的時刻? – Eugene

0

簽出你想要恢復的分支,然後使用git log獲取對應於你想要的狀態的提交的哈希。 然後,您可以使用git reset HASH或git chevkout HASH恢復到該提交

相關問題