当我第一次开始使用这个仓库时,我之前没有使用过git,并且通过错误输入我的电子邮件或其他东西来缓解设置,所以所有提交一段时间都是由用户做出的"未知".我在这里找到了一个答案,将所有"未知"提交转换为我的名字,但它实际上做的是复制提交并应用我的名字.所以现在我把所有这些"未知"的用户提交分散了.
所以我想知道一些命令要运行以删除"未知"用户的所有提交.
你将不得不使用git filter-branch
(在你的仓库中)并强制推送到github.
手动示例处理几乎与您要删除特定用户的提交相同的情况:
git filter-branch --commit-filter ' if [ "$GIT_AUTHOR_NAME" = "Darl McBribe" ]; then skip_commit "$@"; else git commit-tree "$@"; fi' HEAD
请注意,这将重写您的历史记录,它可能会影响其他人也使用您对协作者的repo.Github建议:
与合作者打交道
您可能有合作者拉动您的污点分支并从中创建自己的分支.在他们获取新分支后,他们将需要在他们自己的分支上使用git rebase来在新分支之上重新绑定它们.协作还应确保其分支不重新引入文件,因为这将覆盖.gitignore文件.确保您的协作使用rebase而不是合并,否则他将重新引入文件和整个受污染的历史......并且可能会遇到一些合并冲突.
http://help.github.com/remove-sensitive-data/