2016-08-03 147 views
0

我正在使用源代碼樹,並希望在推送我所做的更改之前使用來自遠程分支的新更改更新本地分支。我做了一個混帳拉(從UI,有2個提交,我是失蹤)丟棄git pull後,本地分支認爲它是最新的

不過,我丟棄那拉請求和所有的文件,而不是提交他們的,我想先提交另一個變化(我後來做到了)。

在提交後,我注意到沒有更多的掛起需求,我可以推送到遠程分支。但是我的本地分支丟失了我丟棄的文件。我試圖再次進行更改,但它說我的本地分支是最新的。我可以在遠程分支上看到我缺少這些文件。

在我提交之前,我也沒有刪除它們。我只丟棄它們。 如果我嘗試恢復該提交,它說它不能作爲提交是合併提交。

如何更新我的本地分支與丟失的文件? 而且,還有沒有更好的方法去做我所做的以避免這種情況?

謝謝!

+0

嘗試git遠程更新-p –

+0

你說的意思是什麼:「我丟棄了它們」? –

+0

@ e.doroskevic我放棄了他們,也就是說我沒有最終落實我所做的改變。 –

回答

0

根據您對我上面評論的回覆。

如果你已經跑

git pull

它一樣做

git fetch + git merge

含義,無論您從遠程倉庫拉必須使人們到你的本地庫。

至於pull request,這是溝通您對項目所做更改的一種方式。這使得其他貢獻者可以檢查您的工作,提出建議,甚至可以協作開發您正在開發的功能。在每個人都對你所做的事感到滿意後,人們可以將這些變化合併到生產中;停止拉取請求不會丟棄由git pull應用到您的本地存儲庫的更改。

如果您想恢復到以前的提交,您可以將各種指令傳遞給git。例如git reflog + git reset --hard [email protected]{<number>}git reset --hard HEAD^

希望這是任何信息。

+0

我已經完成了git pull,即fetch + merge,就像您說的那樣,但我並沒有實際提交在*提交但提交了其他更改後更改的文件。我們最終重新設置了分支,然後手動添加了我的更改並重新進行了修改。幸運的是,這並不難。我有一種感覺,沒有別的辦法? –

+0

@ m.y你不需要在合併後提交。合併自動完成。這就是爲什麼它被稱爲合併提交 –

相關問題