我正在学习Github并遇到了问题。
我正在结束这一天,我将代码推送到存储库 然后我意识到我已经注释掉了不再需要的代码 我意识到这是糟糕的风格所以删除它并再次推送。
现在连续两次拥有相同的提交消息看起来有点奇怪。
应该/可以做什么?
我是否应该再次推动并发出消息" minor"或者"删除注释掉的代码"。
我不想让历史变得混乱。
有没有办法彻底删除推送历史记录(或其他任何名称)?
答案 0 :(得分:0)
在这种情况下,您可以完成git reset HEAD --hard
,删除注释,提交最终版本并强制推送它们(使用git push -f origin branchname
),这样您就可以为所有变化,而不是两个。
但是,我不推荐以上内容,提交在git中并不昂贵。相反,对于第二次提交,更好的提交消息(如git commit -m "removed commented chunks of code"
)会在这种情况下为您留下更清晰的历史记录。 IMO,这里的问题不是多次提交,而是第二次提交的错误提交消息。
我建议您更改使用git commit --amend
进行的第二次提交的提交消息,并在此之后强制推送分支。
答案 1 :(得分:0)
我意识到这是糟糕的风格所以删除它并再次推送。
您有2个选项:
选项2表示 rebase
,如果您不是唯一使用此分支的人,则该选项具有破坏性。
因此,既然您已经推动了分支机构,那么您没有太多选择,您将不得不更改代码并再次提交。
有没有办法彻底删除推送历史记录(或其他任何名称)?
主要选项:
revert
强> 还原将撤消您的更改 Revert不具有破坏性,因为它不会改变历史记录,它会在当前历史记录之上添加新的撤消提交
git revert <SHA-1>
rebase
强> 如上所述 - 一个破坏性的行为,它将在您的历史记录之后发生,并且您希望避免它,因为您已将分支发布到远程仓库。
答案 2 :(得分:0)
如果你有更大的历史记录重写工作,请检查git rebase -i OLD_COMMIT..HEAD
或类似。
但是请注意当您push -f
到github分支时,您必须通知该分支的所有用户。这也适用于任何共享存储库。由于github主要用于共享代码,请记住,您可能需要通知所有推送到共享分支的开发人员,您已更改了历史记录。