2

我是 Git 客户端的新手,对其操作非常困惑。我对 SVN 和 CVS 等其他版本控制工具非常熟悉。我已经在 STS 中安装了 Git 插件,并花费了大量时间检查了该项目。我的操作系统是 Windows-7,在 STS Eclipse 2.8.1 上使用 Eclipse Git 1.3.0。

最初我不知道“简单提交操作”实际上并没有将文件签入服务器存储库,而是必须“推送到上游”。只要没有发现冲突就可以了,但是当我想执行类似的操作时就麻烦了

  1. 还原本地更改
  2. 取消本地提交
  3. 与服务器存储库同步(同步透视窗口不出现)
  4. 推送到远程大部分时间都不起作用

当我说不起作用时,我的意思是 Git 抛出异常。

以下是我曾经遇到的一些错误。

  1. 执行合并命令期间捕获的异常。org.eclipse.jgit.errors.MissingObjectException:缺少提交 c6c4fce9e8a0a228ac1d60f4e5549b5adafa638a

  2. 缺少未知的 c6c4fce9e8a0a228ac1d60f4e5549b5adafa638a

  3. 查找提交

  4. AnyObjectId[c6c4fce9e8a0a228ac1d60f4e5549b5adafa638a]

  5. 执行合并命令期间捕获的异常。org.eclipse.jgit.errors.MissingObjectException:

  6. 在“与 refs/remotes/origin/master 合并”期间发生内部错误

当提交发生冲突或问题时,我不得不采取一些方法(硬)重置我的工作区,并重新完成我所有的工作。

我觉得你们中的许多人都会遇到这样的问题,我想看看我能如何更好地解决这种情况。

感谢您对此的任何评论。

4

1 回答 1

6

这些错误通常反映了尚未正确更新的存储库(git fetchgit pull),并且缺少完成这些操作(合并或推送)的参考。

该线程说明了合并时的“丢失提交”错误。

我不得不从本地 git 中提取来解决这个问题。
在那之后,由于某些我不明白的原因,我的一些源文件有一个“修改过的”标记,比如合并的源文件没有在本地提交或类似的东西。
我不得不手动提交合并的代码。推送仍然失败。我不得不先再次拉动。

EGit 的主要问题是确保您没有处于分离的 HEAD 模式(如“无法使用 EGit 向上游推送”中详述)。

除此之外,最好先按照Egit 教程手册进行训练(当然要先了解 git,使用git 教程,如gitimmersion)。

于 2012-10-18T06:40:22.620 回答