如何在EGit中修复"无法进入状态存储库:MERGING"?

Nob*_*ift 25 eclipse git

我的团队最近搬到了Git,今天第二次,Git错误地使用了我自己更改并已经提交给我的本地的一行代码,这个代码是我自己最后编辑的.这是它给我的错误信息:

Cannot pull into a repository with state: MERGING"
org.eclipse.jgit.errors.WrongRepositoryStateException

Cannot pull into a repository with state: MERGING
    Cannot pull into a repository with state: MERGING
Run Code Online (Sandbox Code Playgroud)

我无法拉动或推送到删除服务器.我该如何解决?

实际上,更好的问题,我该如何防止这种情况?

Dav*_*sch 8

发生这种情况是因为您正处于合并过程中.通过解决所有冲突并将适当的文件添加到索引来完成合并,或者中止合并git merge --abort.请注意,如果您确实中止了合并,那么当您执行此操作时,您很可能会遇到冲突git pull,因为我认为您之前的拉动会导致冲突(这就是您在合并过程中留下的原因).


pra*_*ash 6

我是这样解决的——

1) Right click on project -> Team -> Reset -> [Reset popup will open]
2) By Default Local Repo will be selected -
Reset to: refs/head/master
Reset Type: Mixed (HEAD and index updated)
3) Click on Reset
4) Right click on project -> Team -> Git Pull
5) Right click on project -> Team -> Push to upstream
Run Code Online (Sandbox Code Playgroud)


Vij*_* R. 5

这里的问题是远程存储库文件已更改(即其他人已更改并将文件推送到您在本地副本中更改的存储库),现在您也对其进行了编辑。因此,当您尝试推送文件时,它会抛出一个错误。错误。
您必须合并文件,然后提交更改并推送。

Right click on your project -> Team ->Merge

执行此操作时,它将询问要合并的分支。选择分支并继续合并。

情况1:如果没有冲突,则合并过程将完成。您可以立即提交并推送。

情况2:如果发生冲突,egit会将错误消息显示为Conflict,并且所有有冲突的文件将在项目资源管理器上的文件名上方标有红色图标。

Right click the files with conflict-> Team -> Merge Tool

这将打开比较窗口。检查并合并所需的更改。完成合并后

Right click the files with conflict-> Team -> Add to index Commit the changes and Push

注意:您必须在合并过程之前提交所有已暂存的文件。
并回答您的问题
“实际上是更好的问题,我该如何防止呢?”
这不是问题,当多个用户在同一个存储库中工作时会发生这种情况。每当您倾向于推送时,在推送之前尝试从远程存储库中进行拉取。远程存储库,您就可以解决冲突并进行推送。