如何轻松禁止访问 Github 存储库的提交历史记录?
How do I easily prohibit access to a Github repository's commit history?
在创建课程编程作业时,我经常在 Github 存储库中工作。这些存储库通常包含具有分配解决方案的提交。由于我不想让 class 可以使用这些提交,有没有办法禁止访问提交历史记录?
现在我不得不创建一个全新的存储库并手动复制代码,这样就没有提交历史了。或者提供 repo 的 zip。但是 zip 很尴尬,因为有时我想更改作业中的代码。一定会有更好的办法! (如果可能的话,我很想找到可以通过 Github GUI 完成的解决方案。但我会满足于命令行。)
我不确定是否有办法限制对特定历史记录部分的访问。删除历史记录也可能不是一个好主意,因为您以后可能想参考它。
如果你的学生不需要访问任何提交历史,而你只是想避免 copy/pasting 代码进入新的 repo,那么你可以将现有的 repo 复制到一个新的目录中,然后删除整个 .git
目录以消除历史记录。然后用 git init
初始化一个新的仓库,提交整个代码库,然后按照正常步骤创建一个远程仓库并推送到它。
你会留下一个新的回购协议给你的学生,它没有历史但所有相同的代码。
Git 本身并不能立即满足您的期望。您可以通过 git 工作流程和任何 Git-存储库管理器 Ex 来实现这一点。 Git中心和 Git实验室。
第 1 步:
你需要有一个私人分支机构。考虑此示例的 master 分支,只有对该分支具有特定权限的用户才能访问该分支。
要在任何分支上添加此类限制,请参考此 post How to restrict access to master branch on git
第 2 步:
您需要一个从特定提交创建的 public 分支(您只提交了分配而不是解决方案)。
该分支不会有来自该提交的任何历史记录。 (表示没有分配解决方案)
要从特定提交创建分支,请参考此 post Branch from a previous commit using Git
按照上述工作流程,您将不再需要提供回购的 zip,同时避免从新回购的历史记录中看到以前的分配解决方案。
请您的开发人员从 public 分支创建一个新分支。每个人都会有自己的space.
要从新创建的 public 分支创建新分支,请参考此 post Create a branch in Git from another branch
在创建课程编程作业时,我经常在 Github 存储库中工作。这些存储库通常包含具有分配解决方案的提交。由于我不想让 class 可以使用这些提交,有没有办法禁止访问提交历史记录?
现在我不得不创建一个全新的存储库并手动复制代码,这样就没有提交历史了。或者提供 repo 的 zip。但是 zip 很尴尬,因为有时我想更改作业中的代码。一定会有更好的办法! (如果可能的话,我很想找到可以通过 Github GUI 完成的解决方案。但我会满足于命令行。)
我不确定是否有办法限制对特定历史记录部分的访问。删除历史记录也可能不是一个好主意,因为您以后可能想参考它。
如果你的学生不需要访问任何提交历史,而你只是想避免 copy/pasting 代码进入新的 repo,那么你可以将现有的 repo 复制到一个新的目录中,然后删除整个 .git
目录以消除历史记录。然后用 git init
初始化一个新的仓库,提交整个代码库,然后按照正常步骤创建一个远程仓库并推送到它。
你会留下一个新的回购协议给你的学生,它没有历史但所有相同的代码。
Git 本身并不能立即满足您的期望。您可以通过 git 工作流程和任何 Git-存储库管理器 Ex 来实现这一点。 Git中心和 Git实验室。
第 1 步: 你需要有一个私人分支机构。考虑此示例的 master 分支,只有对该分支具有特定权限的用户才能访问该分支。
要在任何分支上添加此类限制,请参考此 post How to restrict access to master branch on git
第 2 步: 您需要一个从特定提交创建的 public 分支(您只提交了分配而不是解决方案)。 该分支不会有来自该提交的任何历史记录。 (表示没有分配解决方案)
要从特定提交创建分支,请参考此 post Branch from a previous commit using Git
按照上述工作流程,您将不再需要提供回购的 zip,同时避免从新回购的历史记录中看到以前的分配解决方案。
请您的开发人员从 public 分支创建一个新分支。每个人都会有自己的space.
要从新创建的 public 分支创建新分支,请参考此 post Create a branch in Git from another branch