2013-12-20 36 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的要求 –