我使用的是Git 1.7.4.1。

我想从存储库中获得我的代码的最新版本,但我得到错误:

$ git pull
….
M   selenium/ant/build.properties
….
M   selenium/scripts/linux/get_latest_updates.sh
M   selenium/scripts/windows/start-selenium.bat
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as appropriate to mark resolution, or use 'git commit -a'.

我已经删除了工具抱怨的文件的本地副本,但我仍然得到错误。

如何从远程存储库签出最新版本?


当前回答

我怀疑发生的事情可能是你已经删除了你修改的文件(因为你不关心这些变化),现在git正在删除是一个变化。

下面是一种方法,它将更改从工作副本中移出,并移到“存储”中(如果您真的再次需要它们,则可以检索它们),这样您就可以从上游向下拉最新更改。

git stash  
git pull

如果您想检索您的文件(与上游更改的潜在冲突等),请运行git stash apply将这些更改粘贴到代码之上。这样,您就有了“撤消”方法。

其他回答

如果上面的命令不能帮助你使用这个方法:

转到你有Fork的git存档 单击“设置”。>向下滚动,单击“删除此存储库” 确认删除 再次Fork,并重新输入git克隆<url_git> 您已经有了最新的版本

我知道你想抛弃你的本地改动然后把遥控器上的东西拿下来?

如果所有这些都失败了,如果你(完全可以理解)害怕“重置”,最简单的事情就是克隆原点到一个新目录,并丢弃旧目录。

在我听来你好像有核心自专制问题。核心。如果将CRLF换行签入存储库,那么selflf =true会出现您在Windows上描述的问题。试着禁用core。并执行硬重置。

如果你只是想扔掉你工作文件夹里的所有东西(例如失败或流产的合并结果),并恢复到上一次干净的提交,做一个git重置——很难。

试试这段代码

cd /go/to/path
git pull origin master