将Git用于代码教程网站

时间:2017-08-25 20:57:45

标签: git

我想创建一个教学网站,其中包含一系列试图编写项目的博客文章。每篇博文的目标都是抓住一小部分问题并解决它,逐步产生代码。

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

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

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

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

2 个答案:

答案 0 :(得分:2)

在github中使用分支或标签来实现这一目标。

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

阅读器:

#!/bin/bash

while getopts "i" option
do
 case "${option}"
 in
 i) INT=${OPTARG};;
 esac
done
echo "$INT"

答案 1 :(得分:0)

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

这种方法的优点是我能够在HTML差异中渲染每组变化。为了更改教程代码,我重新定义了一个更改,然后强制推送到远程。我使用分支来维护不同的版本,这对Git来说有点顽皮,但它有效(see the repo here)。

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

如果您确实沿着变基的路线走下去,请注意在您的文本中引用您的提交是棘手的,因为您的提交哈希值是不可保证的。为了解决这个问题,我使用他们的消息查找了提交,如下所示:

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