如何轻松禁止访问 Github 存储库的提交历史记录?



在创建课程编程作业时,我经常在Github存储库中工作。 这些存储库通常包含具有分配解决方案的提交。 由于我不想让这些提交可供类使用,有没有办法禁止访问提交历史记录?

现在我最终不得不创建一个全新的存储库并手动复制代码,这样就没有提交历史记录。或者提供存储库的压缩。 但是zip很尴尬,因为有时我想对作业中的代码进行更改。一定有更好的办法! (如果可能的话,我会对可以通过Github GUI完成的解决方案感到兴奋。 但我会满足于命令行。

我不确定是否有办法限制对历史记录特定部分的访问。删除历史记录也可能不是一个好主意,因为您可能希望稍后引用它。

如果你的学生不需要访问任何提交历史记录,而你只是想避免将代码复制/粘贴到新的存储库中,那么您可以将现有存储库复制到新目录中,然后删除整个.git目录以清除历史记录。然后只需使用git init初始化一个新的存储库,提交整个代码库,并按照正常步骤创建远程存储库并推送到它。

你将留下一个新的存储库,给你的学生没有历史记录,但所有相同的代码。

Git 本身并不能提供你开箱即用的期望。您可以通过任何 Git 存储库管理器(例如 GitHub 和 GitLab(的 git 工作流来实现这一点。

第 1 步:您需要有一个专用分支。对于此示例,请考虑主分支,只有对此分支具有特定权限的用户才能访问该分支。

要在任何分支上添加此类限制,请参阅这篇文章如何在 git 上限制对主分支的访问

步骤2:您需要一个从特定提交创建的公共分支(您只提交了赋值而不是解决方案(。 此分支不会有此提交的任何历史记录。(表示没有分配解决方案(

要从特定提交创建分支,请参阅此帖子使用 Git 从上一个提交分支

通过遵循上述工作流,你将不再需要提供存储库的 zip,同时避免在新存储库的历史记录中可见以前的分配解决方案。

要求开发人员从公共分支创建新分支。每个人都有自己的空间。

要从新创建的公共分支创建新分支,请参阅此帖子从另一个分支在 Git 中创建分支

最新更新