我如何通过覆盖更改进行git pull

时间:2013-12-20 01:13:20

标签: git version-control

我无法使用git

覆盖远程仓库的更改
  1. 我在主人,git status显示1个修改过的文件
  2. 现在我想使用git pull,以便所有当前的修改都被来自master
  3. 的拉力所淹没

    我试过这个

    git pull -Xtheirs

    然后在最后我得到错误,有一些xxxx文件的修改。提交或存储它们。然后它以abort

    退出

    我必须隐藏该更改,然后再次git pull使其正常工作。

    我怎么能在没有藏匿的情况下做到这一点

2 个答案:

答案 0 :(得分: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
    

答案 1 :(得分:3)

你可以尝试

git reset --hard HEAD (will throw away uncommitted changes)
git clean -f -d
git pull
如果你有未跟踪的文件,那么

clean是可选的。目录

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