Git上的Pharo项目

Git上的Pharo项目,git,version-control,smalltalk,pharo,Git,Version Control,Smalltalk,Pharo,我是法罗的乞丐,我了解了蒙蒂塞洛和梅塔切洛 据我所知,Pharo不是基于文件的,这意味着不能直接使用Git之类的通用源代码管理工具。但我在Github上看到一些Pharo存储库,例如 是否可以在Git上备份cello版本控制?这样的工作流是什么样子?确实可以使用Monticello的git对源代码进行版本化:工具有filetree、gitfiletree和gitfiletree合并驱动程序。然而,这些工具并不是每个人都可以使用的。没有完善的工作流程。因此,作为Pharo的初学者,我强烈建议您不要

我是法罗的乞丐,我了解了蒙蒂塞洛和梅塔切洛

据我所知,Pharo不是基于文件的,这意味着不能直接使用Git之类的通用源代码管理工具。但我在Github上看到一些Pharo存储库,例如


是否可以在Git上备份cello版本控制?这样的工作流是什么样子?

确实可以使用Monticello的git对源代码进行版本化:工具有filetree、gitfiletree和gitfiletree合并驱动程序。然而,这些工具并不是每个人都可以使用的。没有完善的工作流程。因此,作为Pharo的初学者,我强烈建议您不要使用这些工具。

首先欢迎来到Pharo,我希望您在这里过得愉快,并发现这里非常有成效和有趣:)

这是可能的,因为首先您可以选择使用fileout操作将代码导出到文件,也可以使用filein将代码导入回Pharo。问题是,由于fileout在每个类中都有效,因此它需要相当多的手工工作。但我已经尝试过这种方法,并使用git和github

当然,您很快就会想要自动生成文件,这就是filetree的作用所在。它基本上不只是停止类,甚至停止方法(类和实例)到文件。所有内容都很好地组织在一个文件夹中,每个类都有自己的子文件夹,每个方法都有自己的st文件,这是一个常规文本文件,正如您从任何源代码文件中所期望的那样

Damien提到的gitfiletree基本上是git的客户端,就像magit是emacs或smartgit的客户端一样。它允许您使用monticello gui进行git提交,尽管您仍然需要一个终端来推送。gitfiletree的缺点是它不适用于windows,因为OSProcess(一个允许Pharo调用命令行应用程序的库)(这就是git的真正含义)目前还不适用于windows,但这只是时间问题

因此,如果您已经熟悉并使用git作为终端,那么无论如何,您都不需要gitfiletree,也不需要if filetree

对于初学者来说,这本身并不难,但它可能具有挑战性,但与Damien不同,我不会泄气,尤其是如果你已经熟悉git和github的话

您可以在Pharo for Pharo一章的企业版手册中找到更多信息


我在macos中使用gitfiletree来完成我的项目。到目前为止进展顺利,我没有什么理由再回到smalltalkhub

多谢各位。我对Monticello和Metacello很满意,但我认为如果我在做一些开源的事情,在我的github上发布它也很好。没有什么可以阻止你,但是请记住gitfiletree和git与Pharo的集成是一件新鲜事,因此你可能会偶尔遇到bug,界面也没有那么完美,因为这是一项正在进行的工作。因为smalltalkhub有几个问题,所以越来越多的人迁移到Github。因此,我认为Pharo与git顺利集成只是时间问题。我自己也可能开始为gitfiletree做贡献,因为我是git和github的忠实粉丝。到目前为止,我在简单提交方面的经验看起来还不错,没有什么大问题。在windows中,我只使用filetree和GitBash。我强烈反对smalltalk初学者现在就使用git和github。工具的质量还不能接受。您可能需要解决的问题肯定超出了初学者的范围。我们希望变化很快,请检查pharo邮件列表,查看工具何时准备就绪。@Kilon该书的链接已断开。这是第一个吗?