2017-08-25 44 views
0

我想制作一个指导性网站,其中包含一系列试图编程项目的博客文章。每篇博文的目标是解决问题并解决问题,逐步产生代码。Git代码教程网站的使用

我想为读者提供代码,以便他们可以下载我们在发布#3之前完成的代码并从那里开始工作。因此,每篇博文都有自己的一套代码,建立在前几组代码之上。

在我看来,这基本上反映了git提交的工作方式 - 当我完成一篇文章时,我会提交它。要访问代码的各个部分,最终用户必须克隆我的存储库并签出#3后的特定提交。

有没有更好的方式来做到这一点?我也可以做一些事情,比如在博客文章的任何变化之前将项目压缩,然后放在帖子的顶部,而不是使用git。作为另一种选择,我可以在存储库中创建一堆不同的文件夹,每个文件夹都以博客文章命名,并且每个文件夹都有该项目的完整副本,直到该博客文章为止。

你认为通过教程网站提供代码的最佳方式是?

回答

2

在github中使用分支或标签来实现此目的。

git checkout -b Tutorial_3 
...do some work here... 
git commit -a -m "Tutorial 3 Code" 
git push origin Tutorial_3 

读者:

git clone YOUR_REPOSITORY.git 
cd YOUR_REPOSITORY 
git fetch 
git checkout Tutorial_3 
+0

我没考虑使用分支 - 谢谢! – Jake

0

没错,这就是我如何PHP tutorial works。我首先以迭代和有机的方式编写了教程代码,然后围绕它编写了文本。最重要的是,当我更新了教程代码时,我可以用一些控制台脚本重新生成整个教程。

这种方法的优点是,我已经能够呈现HTML差异中的每一组更改。为了修改教程代码,我重新进行了更改,然后强制推送到远程。我使用分支来维护不同的版本,这是一个顽皮的滥用Git,但它的工作原理(see the repo here)。

我以类似的方式维护text repo - 分支是版本,所以我可以随意重写旧的历史。

如果您确实遵循重定义的路线,请注意,在您的文本中引用您的提交是棘手的,因为您的提交哈希是不可保证的。为了解决这个问题,我查了一下使用他们的消息提交,如下所示:

<?php renderDiffFromComment('Add post view page') ?>