1

这可能是一个愚蠢的问题,但经过几次试图做到这一点后,我感到很沮丧。我想使用 github 来托管我的项目,我们是 2 个人从事该项目,目的是分享工作。并互相帮助。

我设法创建了 resepetory,并致力于 master 分支。如果另一个人删除了整个项目,他会得到最新的更新,但我确信这不是它应该工作的方式。

假设我提交了一个新的类文件。我提交了这个文件,别人怎么下载这个文件?我们已经尝试过拉、同步等,但没有任何运气。我们发现给他“我的”最新更新的唯一方法是让他删除所有内容并从头开始制作项目。

我错过了什么?我们如何同步工作空间?所以我可以在打开 Eclipse 时查看并下载他的更改?(我们不在同一个班级工作)。所以我真正想做的就是下载他的最新提交。

编辑:我的解决方案是我的伙伴正在本地 git 工作区的副本中工作。因此,他没有修改本地 repo,而是在 Eclipse 工作区中修改它的副本。因此,当他拉动时,没有任何更新。我也从 Egit 切换到 GitHub 命令行工具,我爱上了。谢谢大家 :)

4

3 回答 3

3

通常使用 GitHub,您所描述的所有内容都可以完美运行,我没有遇到任何类似的问题。

关于 git 的一件事,提交与 SVN 中的提交有点不同。使用 git,您可以使用pushpull与远程存储库进行交互。

我不确定你说的是什么意思:

如果另一个人删除了整个项目,他会得到最新的更新,但我确信这不是它应该工作的方式。

话虽如此,我从未使用过 Egit,我更喜欢坚持使用命令行来满足我所有的 git 需求。我在使用其他软件(Sublime Text 2)时遇到了问题,我必须退出编辑器,然后运行我的所有提交和其他 git 操作。我不知道 Eclipse 与 git 的总体表现如何。

尝试让您的合作伙伴运行git remote -v,以确保他正确跟踪回购。另外,您知道他是否为 GitHub 设置了 SSH 密钥,还是您通过 https 发送推送和拉取?

请记住,这很难帮助您,因为我没有坐在您的电脑前。GitHub 帮助有一些关于设置 git 和远程存储库的非常好的演练。

另外,我强烈建议您花时间阅读CodeSchool对 git 的介绍。如果这是您第一次使用 Git,那么这是最好的起点。

于 2013-02-18T05:07:06.873 回答
3

还有更复杂的场景,但基本上,您需要将您的提交“推送”到上游,并拉动您的同事的。

克隆回购。通过克隆它,您将保证它有一个“来源”,即 github 远程。您在本地存储库中进行更改,随时提交。当您处于里程碑时,使用 Team > Push 将您的所有提交推送到 github。您的同事将拉动它们,如下所述。

当您尝试推送时,您可能会发现您的同事已经推送了更改,并且 git 不允许您推送,直到您合并。尝试 Team > Pull 它将远程更改合并到您的本地存储库中。如果没有冲突,您现在可以推送。如果存在冲突,请修复它们然后提交。然后推。

这是一个实质性的简化,但可以帮助您入门。要点是,在 git 中,SVN 提交的等价物是两个,也许是三个操作:添加、提交、推送。Git pull 有点类似于 SVN 结账。

花一天时间阅读 git。GitHub 上有很棒的文档。一旦你掌握了它的窍门,你就会爱上它。

于 2013-02-18T05:12:03.007 回答
1

使用 git 协作项目时,您同时管理本地和远程存储库。当您提交时,您只是将更改保存到本地存储库。提交后,您需要进行推送以将更改保存到远程存储库。之后,如果您的合作者拉动,他将获得您的更改。

于 2013-02-18T05:02:39.500 回答