Eclipse创建Git仓库失败。

3

在我的一个项目中,当我尝试按照以下步骤创建git仓库:选择 Team → 共享项目 → Git时,我会收到以下错误:

enter image description here

检查Eclipse错误日志视图后,发现以下异常:

org.eclipse.jgit.errors.NoWorkTreeException: Bare Repository has neither a working tree, nor an index 在 org.eclipse.jgit.lib.Repository.getWorkTree(Repository.java:1235) 处,at org.eclipse.egit.ui.internal.sharing.ExistingOrNewPage.fillTreeItemWithGitDirectory(ExistingOrNewPage.java:518),at org.eclipse.egit.ui.internal.sharing.ExistingOrNewPage.createControl(ExistingOrNewPage.java:353),at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:174),at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:736),at org.eclipse.jface.wizard.WizardDialog.setWizard(WizardDialog.java:1182),at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1241),at org.eclipse.jface.wizard.WizardDialog.access$4(WizardDialog.java:1238),at org.eclipse.jface.wizard.WizardDialog$8.run(WizardDialog.java:1227),at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70),at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1225),at org.eclipse.team.internal.ui.wizards.ConfigureProjectWizardMainPage$2.doubleClick(ConfigureProjectWizardMainPage.java:156),at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:845),at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42),at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49),at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175),at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:843),at org.eclipse.jface.viewers.StructuredViewer.handleDoubleSelect(StructuredViewer.java:1134),at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1246),at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:249),at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:246),at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:307),at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84),at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057),at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170),at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759),at org.eclipse.jface.window.Window.runEventLoop(Window.java:826),at org.eclipse.jface.window.Window.open(Window.java:802),at org.eclipse.team.internal.ui.wizards.ConfigureProjectWizard.openWizard(ConfigureProjectWizard.java:224),at org.eclipse.team.internal.ui.wizards.ConfigureProjectWizard.shareProjects(ConfigureProjectWizard.java:124),at org.eclipse.team.internal.ui.actions.ConfigureProjectAction$1.run(ConfigureProjectAction.java:39),at org.eclipse.team.internal.ui.actions.TeamAction$3.run(TeamAction.java:266),at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70),at org.eclipse.team.internal.ui.actions.TeamAction.run(TeamAction.java:263),at org.eclipse.team.internal.ui.actions.ConfigureProjectAction.execute(ConfigureProjectAction.java:33),at org.eclipse.team.internal.ui.actions.TeamAction.run(TeamAction.java:515),at org.eclipse.team.internal.ui.actions.TeamAction.runWithEvent(TeamAction.java:549),at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:241),at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584),at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501),at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411),at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84),at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057),at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170),at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759),at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113),at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332),at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997),at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138),at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610),at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332),at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567),at org.eclipse.ui.PlatformUI

我可以轻松为其他项目设置git仓库,但是如何“重置”此项目的状态以便成功设置git仓库呢?谢谢。


你确定尝试过清理项目吗? - user377628
@Hassan 是的,没有帮助。 - Kai
3个回答

1

以下是创建项目、使用git进行管理并在eclipse中启用git的步骤:
步骤:
0. 在eclipse中创建一个项目
1. 在命令行中,进入项目的根目录,并输入git init
2. 在eclipse中,右键单击项目->团队->共享项目,选择git,然后点击下一步
3. 如果还没有,请勾选“在项目父文件夹中使用或创建存储库”
4. 点击“完成”,好
5. 右键单击项目->团队,现在您可以看到git操作了


我该如何“转换项目为Git项目”?你能详细说明所需步骤吗?谢谢。 - Kai
我遇到的问题是,在选择 git 时抛出了异常,因此产生了这个问题(相同的 Eclipse 配置可以与其他项目一起使用,所以我在这个特定的项目上遇到了问题)。 - Kai

1

OP Kai 评论

我认为这可能是工作区设置中的某个小故障引起的:

  • 仅将项目从工作区中删除,
  • 将其移动到另一个目录中,
  • 再次导入(带有副本),

神奇地,git仓库现在被找到了。 -


如果它确实是一个裸仓库,那么你需要将裸仓库转换为非裸仓库,才能够检出并在Eclipse中导入检出的文件。
cd /path/to/yourRepo.git
cd ..
mkdir yourRepo
mv yourRepo.git yourRepo
cd yourRepo
git config --local --bool core.bare false
git reset HEAD -- .

只有在路径分享项目时提到的路径中有一个(裸)存储库时,才应显示该错误消息。


仍然出现相同的异常,删除.git目录并重新创建也没有帮助。 - Kai
@Kai 然后尝试另一种方法:确保您的 .project.git 位于项目文件夹中,与 src 子文件夹处于同一级别。然后导入该 Eclipse 项目,然后像在问题中那样共享它。 - VonC
嗯,我认为这是由于工作区设置中的某些故障引起的,只需将项目从工作区中删除,将其移动到另一个目录,使用复制选项重新导入,然后Git仓库就会神奇地被找到。请更新您的答案并评论,我会接受您的答案。 - Kai
@Kai 好的,我已经将您的结论包含在答案中,以便更加清晰可见。 - VonC

0
以上的答案对我没有用。 我必须打开git透视图并添加我的本地存储库。 然后在包资源管理器中删除项目,右键单击导入 -> “从git导入项目”

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接