2017-08-25 48 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') ?>