我正在计划一系列的经验教训,如何使用一个演示应用程序来构建一个web应用程序,并从底层构建它。
我想将git用于1)演示应用程序代码的回购,和 2)有git提交日志帮助指导学生。
每一课都是构建网络应用程序的一小步。我希望每堂课都对应于一个git提交,在这里,通过在GitHub上查看课程的提交,学生可以准确地看到在课程中更改了什么代码。
我不确定的是如何做到这一点并使其可维护,因此提交历史总是按照经验顺序进行的。或者,是否有一种我不知道的常用的替代技术(例如使用分支/标记/补丁)?我的主要关切是:
欢迎指导、建议、反馈和改进,谢谢!
发布于 2015-03-17 20:06:03
使用分支-每节课一个分支。因此,如果需要更新课程的内容,只需在“课”分支中提交,如果需要,只需将它们合并到以下所有课程分支。
示例:
两个分支可以很容易地在比较中显示任何给定课程中的新内容。例如,git diff lesson02..lesson03展示了第3课中的新内容。
重写git回购历史(重基、修改等)通常是不好的。请不要给你的学生看其他的。如果git提交日志包含而不是隐藏所有错误修复、升级更改等,将有助于更好地指导学生。
发布于 2015-02-14 16:40:23
交互模式下的git rebase应该处理大部分用例:
对课程进行更正和更新/提交
查看这个职位,它描述了如何从上一课中更改文件/提交。您需要使用git rebase -i进入重基交互模式。一旦选择了要更改的提交,就使用git commit --amend修改它,然后继续重基。
更新依赖项
这是一篇文章,讨论如何在重基交互模式下添加新文件。如果需要将新的依赖项添加到经验教训/提交中,则可以使用这一选项。它比仅仅修改一个已经存在的文件要复杂一些。正如您可能已经猜到的,您最终会在重基中执行一个git add。
在这两种情况下使用重基时,您都应该记住,您正在重写您的课程历史。因此,如果您将课程分支git push -force到存储库,则可能会给您的学生造成一些混乱。
发布于 2015-03-17 19:59:52
如果您删除了保持日志有序的约束,以便将其作为教程脚本读取,则可以使用标记。我的印象是,标签将使维护更简单,更自然。
问题如何使用Git中的快照创建编码教程描述了使用标记的方法,并指出了使用标记的AngularJS教程。本教程提供了代码比较的链接:https://github.com/angular/angular-phonecat/compare/step-0...step-1
我计划使用这种方法,因此我需要更加熟悉git标记和更新与标记关联的提交。
https://stackoverflow.com/questions/28516302
复制相似问题