我使用的是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'.

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

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


当前回答

试试这段代码

cd /go/to/path
git pull origin master

其他回答

你必须先合并你的文件。查看git状态以查看需要合并的文件(意味着您需要首先解决冲突)。完成后,执行git add file_merged并再次执行pull操作。

如果你不关心任何本地更改(包括未跟踪或生成的文件或恰好在这里的子存储库),只需要从repo中复制:

git reset --hard HEAD
git clean -xffd
git pull

同样,这将破坏您在本地所做的任何更改,因此请谨慎使用。考虑rm -Rf。

如果你使用Git GUI,首先获取然后合并。

通过远程菜单获取>>获取>>来源。 通过合并菜单>>合并本地。

出现以下对话框。

选择跟踪分支单选按钮(也是默认选择),让黄色框空,按合并,这应该更新文件。

在做这些步骤之前,我已经恢复了一些局部更改,因为我想无论如何都要丢弃这些更改,这样我就不必在以后通过合并来消除。

试试这段代码

cd /go/to/path
git pull origin master

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

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

git stash  
git pull

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