之前很可能已经提出这个问题,但是我试图找到解决方案让我感到很困惑,我认为最好只发布我试图解决的具体问题。
我想彻底删除划掉的提交(请参阅屏幕抓取),保持其他人不受影响。正如您所看到的,这些提交并不总是相互关注。我已经将所有这些提交推送到远程,所以我也需要这样来反映它。有可能这样做吗?
我使用Git相对较新,所以任何建议都会很棒。感谢。
答案 0 :(得分:1)
如果您已经推送了这些提交,则不应将其从历史记录中删除。这样做会在他们撤消更改时导致其他人出现问题。
相反,您可以使用revert命令创建新提交,并从先前的提交中删除更改。当您将此提交推送到远程存储库时,它将与删除提交具有相同的效果,但当其他人从该存储库中拉出时,它不会导致问题。
要删除图像中划掉的最新提交,请输入以下命令:
git revert 1e3e620
对要还原的任何其他提交重复此操作,然后将所有这些提交推送到远程存储库。
答案 1 :(得分:0)
使用git rebase -i
删除提交,然后使用--force
推送到远程。 (并处理已经从遥控器中拉出来的不安同事......)