git and eclipse

3

我完全不懂git,虽然看了文档但还是一头雾水。我使用CVS已经几十年了,只需要一些帮助来设置。

  • 我在Linux机器上设置了一个git存储库(创建了一个目录并运行git init)。我可以通过ssh访问该机器。
  • 我有一个Eclipse Java项目,我想将其提交/推送到这个git存储库。
  • 我在Eclipse中安装了egit,但它没有给我任何设置url或主机名:端口等的选项。
  • 此外,它想要将存储库放在我拥有项目的相同目录中。那肯定是不对的。

如何让Eclipse将此提交到我Linux机器上的git存储库?

我不知道人们为什么喜欢这个程序,我以前从未被CSV弄糊涂过,但现在没有人支持或允许使用CVS了。

4个回答

1
你需要改变你的思维方式。特别是,你说“此外,它想要将我拥有项目的存储库放在同一个目录中。这不可能是正确的。”但实际上是正确的。该存储库是本地的。这是与CVS的根本区别之一。在本地存储库中进行所有更改,并仅在想要发布时将其推送到远程。

1

《Git寓言》中,很好地解释了Git的设计目标。

这可能有助于从CVS转变所需的范式转变。

Git是为控制提交到Linux内核而开发的,因此支持大型分布式项目的版本控制是一个关键的设计目标。


1

您可以将本地存储库视为“智能”工作目录。仍然可以拥有集中式集成存储库,类似于CVS中的中央存储库,但术语略有不同:

  • 现在,“向存储库签入”是“推送到集成存储库”
  • 现在,“从存储库签出”是“从集成存储库拉取”

存储库克隆到本地计算机后,真正的魔力开始了。您将获得工作目录和许多新机会。

  • 在同一工作目录中使用多个开发人员分支。您可以同时独立地处理几个功能,并轻松地在它们之间切换。例如,我在同一存储库中针对错误修复(每个错误一个分支)和新功能(每个功能一个分支)创建了分支。切换是一对命令/单击
  • 您可以频繁地局部提交未完成的工作,并快速回滚到存储库的任何状态。完成功能或修复错误后,您可以在“推送到集成存储库”之前组合和重新排列提交以“优化”历史记录
  • 有很好的机会挖掘项目历史记录,而且非常快速:所有历史记录已经在您的计算机上
  • 您可以轻松地将更改从一个分支传输到另一个分支。例如,如果特定更改在多个分支中有用

0

Git是一种分布式版本控制系统(DVCS)。这意味着你将在本地机器上拥有一个仓库。你需要了解“推送”、“获取”和“拉取”的概念。这都属于“远程”概念,用于告诉一个仓库另一个仓库的位置。

可以预期在你的工作目录的根目录下会有一个.git文件夹。

我建议你在以下任何一个地方快速阅读关于git的内容:

gitready.com
progit.org/book
git-scm.com

在freenode上还有一个#git频道。


这是否意味着它位于我的项目所在的目录中? - Bodger
那么我在Windows上如何将它推送到我的Linux机器的正确位置,以便其他人可以使用它? - Bodger
@Bodger,是的,你的工作目录和本地仓库是同一个东西。你可以将Linux仓库克隆到Windows机器上的本地仓库,然后从Windows机器提交以将更改推送到Linux仓库。 - jball
你需要使用以下命令之一:如果远程仓库还不存在,使用 "git remote add origin <Linux 仓库的 URL>" 添加远程仓库;如果远程仓库已经存在,使用 "git clone <Linux 仓库的 URL>" 克隆远程仓库。 - Adam Dymitruk
你还应该早日决定是否只为一个平台开发,如果是的话,请将autocrlf设置为false。在其他人的存储库上也要这样做,否则行尾差异会被注册为更改,而实际上并没有更改。希望这可以帮到你。 - Adam Dymitruk
好的,现在我在我的eclipse项目中有一个本地仓库。现在我想要推送它,但是它正在问我一些令我困惑的东西。 "源引用"和"目标引用"是什么? - Bodger

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