2013-02-14 51 views
1

我正在從Eclipse中從GIT遠程存儲庫克隆的項目。 Eclipse eGit插件允許您在沒有真正瞭解GIT的任何內容的情況下開始工作,這正是我所處的位置。我最終意識到,當我做一個「與HEAD修訂版比較」時,我並不像我第一次想到的那樣與遠程存儲庫進行比較,而是使用本地存儲庫進行比較。我現在明白我需要從遠程存儲庫中獲取更新,但不清楚我的本地更改會發生什麼。我沒有提交這些更改,部分原因是我認爲我可能正在更新遠程存儲庫(現在我意識到我不會),但部分原因是我發現Package Explorer文件修飾(「>」)在識別文件時非常有用我已修改。如果我承諾,那麼我認爲這些跡象將會消失。egit pull與未提交的更改

我的問題:

  1. 如何更新我的本地庫,而不會失去我的變化?
  2. 我可以做到這一點,而不會丟失我修改過的文件指示器嗎?

更新:我想我明白如何一些這方面的工作,但我真的現在失去了,特別是工作空間和(本地)存儲庫之間的關係。

我用Team-> Pull來更新我的存儲庫。由於我沒有提交任何更改,我預計這會在沒有衝突的情況下工作,但會將工作區和回購之間的所有更改標記爲衝突(混淆#1)。

我想我需要使用Team-> Synchronize將更改帶入工作區,就像我對其他VCS一樣。當我這樣做的時候,我看到了這些變化,但是甚至沒有衝突更新已經應用到工作區,並且沒有「更新」操作來執行此操作,所以我不知道如何應用它們(混淆#2) 。

對於衝突更新,我手動將更改合併到工作區副本中,並使用「標記爲合併」,但這似乎什麼都不做。衝突未被清除。我預計在這一點上,這種變化只會是工作空間中的一個未經改變的變化(混淆#3)。

我在其他地方看到,爲了消除衝突,我應該使用Team-> Add和Team-> Commit,但我不想像我最初解釋的那樣提交我的更改(混淆#4)。

你可以看到我很困惑!任何幫助都感激不盡。

回答

1

如果混帳拉不工作,你可以使用這個:

git stash 
git pull 
git stash apply 

不知道Eclipse支持藏匿處,所以你可能需要使用命令行。