我应该如何正确使用Git进行Visual FoxPro开发?

我是Git初学者。 我正在阅读和尝试这个Git教程 。 而且我也在这里阅读了Git分支模型和SO这个问题 。

但我仍然困惑如何正确使用Git我的情况如下:

  1. 我有一个项目MyProject01PC01表示,我将从PC上开展工作
  2. 另一位开发者坐在另一台PC上说, PC02将克隆项目MyProject01git clone,git pull等),然后开始工作。
  3. 然后,这两个将被同步(可能git push PC01,但我不确定)。 例如,我正在使用PC1上的file.prg编写function 1而另一个开发人员正在使用PC2上的同一个文件file.prg编写function 2 。 这些将被合并,以得到最终的结果 – file.prgfunction 1function 2完成。

我没有使用Git作为完整的版本控制,也就是说,版本将由我自己控制,如MyProject01MyProject02等。Git将使用( git init )为每个单独的目录。 我只是想使用Git作为我的Visual FoxPro桌面应用程序开发的多开发环境。

根据我的情况,是否需要按照本教程中的描述创build从repo01克隆的裸仓库; repo01将是MyProject01

我觉得我不适合上述的分支模型。 请引导我以正确的方式。
我正在使用Windows的Git安装程序 。

[编辑]
我的主要目标是使用Git作为源代码pipe理,类似于:

  • Visual FoxPro中的源代码控制软件
  • CVS,SubVersion和Visual FoxPro
  • 使用Mercurial的VFP版本控制

我不使用Git作为完整的版本控制,即版本将由我自己控制,如MyProject01,MyProject02等。Git将使用(git init)为每个单独的目录

那么为什么还要打扰git,如果你只是要扔掉旧的历史?

如果你不需要历史,那么差异和补丁也会为你服务。 在git中,除了在一个存储库中有多个分支之外,还可以通过克隆存储库来创建多个工作副本。 拥有多个分支可让您保留以前版本的历史记录,同时还允许您回到以前的版本并进行修改; 有多个工作副本允许您同时运行该程序的多个版本或存储没有签入但是特定于版本(例如sqlite数据库文件)的文件。 每次创建新版本时都没有理由重置修订历史记录。

(可能git推PC01,但我不确定)

是的,您可以这样做,因为在DVCS中,您可以将任何存储库推送到任何存储库(这是将分布式VCS与集中式VCS区分开来的另一个主要区别是,在DVCS中,工作副本始终也是存储库历史,而不仅仅是特定版本的快照)。 有了这个说法,建立一个裸仓库还是让代码分享更容易的一个好主意。 如果PC02需要推送,但是PC01不在线,那么PC02必须等到PC01在线才能推送,那么一个永远在线的服务器上的裸仓库不会有这个问题。

我知道这是一个10个月的问题,但肯定这可能是有用的无论如何。

从2014年1月起,有一个名为FoxBin2Prg的scctext(x).prg的新替代品,可以将VFP 9二进制文件转换为文本格式(prg格式文件),并可以从这些文本中重新生成二进制文件。 可以用于比较和合并代码,并且可以修改生成的文本,并将更改反映到重新生成的二进制文件中。

它位于VFPx项目上,位于以下URL: https ://vfpx.codeplex.com/wikipage?title = FoxBin2Prg

实际上,我将它与10个成员团队中的PlasticSCM集成在一起,无需阻塞文件,即使在相同的表单和类上也可以使用并发开发。

最好的祝福!

检查https://github.com/sait/vfpscm

PRG文件只是纯文本,您可以透明地使用GIT或Mercurial。

由于这些文件是与备注文件关联的DBF表,因此您对Visual Forms(scx&sct)和Visual Classes(vcx&vct)有问题。 当您修改表单时,它会更改整个文件。

GIT可以完美地处理二进制文件,但是你不会在代码中看到不同的地方,而SCM是用来做什么的。

我们创建这个程序: https : //github.com/sait/vfpscm表示:

  1. 将表单和类转换为XML,以便您可以将其推送到存储库中,并且在修改表单时,只需更改XML文件中的几行即可。
  2. 将XML文件重新转换为表单和类,以接收更改。

所以使用常规GIT的过程改变为:

  1. 编辑文件PRGs
  2. 编辑可视类和表单
  3. 测试
  4. 一旦你的bug被修复或功能准备就绪:
  5. 将类和表单转换为XML(运行VfpScm)
  6. 添加文件PRG和XML到你的Git(git add)
  7. 提交文件(git commit -m“messages”)
  8. 将更改推送到存储库(git push -u origin master)

你的团队将需要把这些改变,并添加到他们的本地副本:

  1. 拉更改(git拉起源主)
  2. PRG和XML会被Git覆盖
  3. 重建已更改的表单和类(运行VfpScm)

GIT配置为使用.gitignore忽略SCX,SCT,VCX和VCT文件,而存储库仅包含PRG和XML文件

我们一直在使用VFPSCM.exe工具5年以上,拥有300个表格和20个类的大型项目,我们从来没有松动过任何代码,而且必须重要的是我们已经准备好了SCM,可视化了所做的改变,承诺,转换我们的日志的变化。

您可以将Git用于多个项目。 为project1和project2创建两个文件夹,并保持它们彼此分开。

尝试在开始时使用SmartGit。

Git不是传统的源代码管理系统。 它是分布式源码控制系统。 我仍然建议你从一开始就使用GitUI。

是的,你应该有一个裸仓库。