2013-12-20 80 views
3

我有在overiting遠程回購的變化與GIT麻煩我怎樣才能的Git與改寫拉變化

  1. 我對師傅和git status顯示1修改後的文件
  2. 現在我想使用git拉那麼所有當前的修改都受到拉從主

overwriiten我想這

git pull -Xtheirs

然後在最後我得到錯誤,有一些修改xxxx文件。提交或隱藏它們。那麼它退出abort

我不得不把這個改變,然後再次git pull使它的工作。

我該怎麼辦,沒有積攢

回答

3

你正在運行到的情況是,git merge(由git pull調用)只與作品提交,不未提交的修改。要保留未提交的更改,請提交它或先存儲它。你基本上有三個選擇:

  1. 承諾你的改變。

    git add modified-file.txt; git commit 
    
  2. 藏起你的改變(大概是爲了以後把它取下來)。

    git stash save "my uncommitted change" 
    
  3. 扔掉你對此文件的更改:

    git checkout the-modified-file.txt 
    
+0

如果你想扔掉所有未提交的變化,你可以做'git stash' – SparrowG

+0

SparrowG - git存儲不會丟棄未提交的更改。 –

2

您可以嘗試

git reset --hard HEAD (will throw away uncommitted changes) 
git clean -f -d 
git pull 

清潔是可選的,如果你有未跟蹤文件&目錄

git reset --hard HEAD && git clean -f -d && git pull (in one cmd) 
+0

這樣的建議應該帶着'git reset --hard'命令會拋出未提交更改的警告。 'git clean'會丟棄那些沒有被git跟蹤的文件。 –

+1

謝謝你,會添加警告,但那是對quetions的要求 –