将所有课程分配保存在一个存储库中

问题描述

嗨,我正在上一堂课,我希望有10个以上的作业和5个以上的项目,而不是为每个人创建一个存储库,我想将它们保存在同一存储库中,但可以放在不同的文件夹中,以便进行跟踪分别提交。有一种干净的方法吗?理想情况下,它们不仅会位于不同的分支上,因为这会使跟踪所有对象变得更加困难(例如在this帖子中)。

解决方法

我不确定您所说的“干净”是什么意思,但是按照您的建议使用文件夹可以很好地跟踪工作。假设您的班级名为CS413,您将创建一个名为CS413的存储库,并将每个作业或项目放入一个文件夹中。例如,您的目录布局为:

CS413/ (<-- This is your git repository root)
    Homework1/ (<-- These are your assignment folders)
        assignemnt.txt
        mywork/
           problem1.py
    Homework2/
        ...
    Project1/
        ...

您将能够在一个项目中管理该课程的所有作业。例如,如果要查看单个任务的历史记录,则可以使用git log Homework1,或者在github中,您可以查看单个文件夹的历史记录。您可以在一个分支上完成所有这些工作,并且只要定期提交并推动更改,就不会遇到任何问题。

或者,您可以查看git-worktrees,这是用于同时管理多个分支的不同工作流,但是在github中,您必须切换分支以查看您感兴趣的分配。