【问题标题】:Keep state of latest git commit--but remove my own, earlier commits I do not want to show.保持最新的 git 提交状态——但删除我自己的、我不想显示的早期提交。
【发布时间】:2018-09-10 10:33:51
【问题描述】:

我找不到这个简单问题的答案。我创建了一个功能分支并添加了几个提交。没有其他人承诺过。我已经推送到远程了。我希望呈现我的代码,因为它存在于我对拉取请求的最新提交中,作为初始的、干净的版本,没有我自己的早期提交。就目前的代码而言,git 更改历史不必要地混淆了拉取请求。

我已经这样做了:

  1. 创建此功能分支
  2. 早期提交——我自己的更改
  3. 早期提交——我自己的更改
  4. 早期提交——我自己的更改
  5. 最新提交 -- 在拉取请求中我想将此代码作为初始版本提供

如何从中间提交 2 到 4 中删除历史记录,从而将提交 5 中存在的代码显示为仅显示来自提交 1 的更改的新代码?

我应该简单地从 git 中删除文件并在新推送中重新添加它们吗?或者以其他方式清理提交 2 到 4,同时将代码保持在当前状态。 5?

【问题讨论】:

    标签: git commit git-branch pull-request git-remote


    【解决方案1】:

    压缩你的提交。运行git rebase -i HEAD~4(其中 4 是您要压缩的提交数),然后将“pick”替换为“squash”,除了第一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      • 2018-12-07
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      • 2012-12-12
      相关资源
      最近更新 更多