9

我试图合理化两个似乎相关的观点(或至少提供非常相似的功能):“Git Repository”观点(我在添加 EGit 后得到)和“团队同步”观点(我认为是EE 分布的一部分)。

据我所知,我能够让Git 存储库工作(使用 GitHub),或者至少大多数功能:“Git Staging”窗口工作正常,我可以通过从“未暂存的更改”到“暂存的更改”,然后单击“提交”图标。然后我可以从“Git Repositories”窗口中推送我的更改,方法是右键单击工作区->Remotes->origin->url,然后从菜单中选择推送(这是“正确的”过程吗?)。

从“团队同步”的角度来看,我什至没有运气来设置它。一旦从菜单中选择“同步...”,Git,然后我会看到一个表(它是什么?)。我正在为 Destination 尝试各种值(否则,无法点击 Finish 按钮),但无论我做什么,它都会告诉我所有项目的“没有变化”。

右键单击项目并选择“团队”时,还有许多上下文菜单项。这些是什么?

4

2 回答 2

4

在 CVS 中,团队同步是管理传入和传出更改的唯一合理方法。您可以从这一视图更新/合并传入的更改并提交传出的更改。由于每个提交都是离散的并且是非原子的,因此该视图非常适合此工作流程。

然而,在 EGit 中,您已经有了明确的添加、提交、推送、拉取和合并操作。所以团队同步在很大程度上超出了正常的工作流程。它的行为很像来自补丁的美化同步 - 您选择要比较您的工作目录的分支,它会向您显示差异。然后,您可以整体或单独应用这些更改,但它不会获取上下文,即它不会创建合并点或诸如此类的东西。

所以你应该训练自己不要使用,除非有特殊原因。例如,也许您有两个分支 A 和 B。有人对 B 进行了更改,而您只需要其中的一小部分,因此您可以使用 Team Sync 来显示差异并仅应用您需要的差异。或者,也许您只是想压缩分支 B 上的所有更改并将它们称为 A 中的单个提交。然后,当您无论如何要折腾 B 或其远程分支时,您可能会使用 Team Sync 而不是使用变基.

于 2013-06-14T10:09:16.383 回答
3

据我了解,“Git 存储库”透视图旨在将文件从工作目录提交到本地 Git 存储库,而“团队同步”透视图用于将本地存储库与远程存储库同步。

起初我也觉得这很令人困惑,因为在使用 SVN 时,“团队同步”透视图用于提交/更新文件。直到我注意到在 EGit 的团队同步透视图中,它没有显示提交/更新按钮,而是有拉/推按钮,用于同步两个 Git 存储库。

对于出现在“团队”上下文菜单下的各种选项,它们对应着一堆 Git 操作。在使用 EGit 之前,我建议先阅读一下 Git 的操作原理。http://git-scm.com/doc将是一个好的开始。

于 2012-06-20T04:03:14.903 回答