【问题标题】:Unwanted commits in git pull requestgit pull 请求中不需要的提交
【发布时间】:2020-12-27 04:20:12
【问题描述】:

我已经分叉了一个 github 存储库,以便提供一些拉取请求。 我检查了这个分叉的 repo 并使用了一段时间。

现在我遇到的问题是,每当我从 master 创建一些分支、更改一两个文件、提交这些文件并希望从中创建一个拉取请求时,我的拉取文件中有很多不需要的(总是相同的)提交请求。

在某些情况下,我至少可以通过 git rebase -i 删除一些,但它并不适用于所有人,并且每次我从 master 创建另一个分支和另一个 pull request 时,那些不需要的提交再次出现。

如何完全摆脱那些不需要的提交,以便我的新分支开始干净? 如果相关:我使用 SmartGit 作为 git 客户端。

【问题讨论】:

  • 您是否尝试过搜索?有很多答案和教程描述了如何解决这个常见问题。
  • SO 建议的主题看起来不相关。
  • 这种类型的问题通常是由从一个分支分支,并使用 squash 提交和 rebase 合并原始分支引起的。如果这是你所做的,你可以使用 git rebase --onto

标签: git request commit pull


【解决方案1】:

我不是 SmartGit 用户,这里有一个终端解决方案。

首先,使用git log检查您不想重置的最后一次提交的哈希值。

在这个例子中,哈希是a867b4af366350be2e7c21b8de9cc6504678a61b

然后,输入git reset --hard <commit-hash> 即可!

【讨论】:

  • 我试过你的答案,但它并没有真正帮助。我试图将它应用到已经有拉取请求的分支。也许我需要将此应用到主分支,以便我可以从该分支创建不受这些不需要的提交污染的新分支?
  • 好的,在 master 分支上尝试了这个,创建了新分支并重新应用了我的更改。提交并推送,当尝试为此创建拉取请求时,我看到它再次具有所有其他不需要的提交,这些提交来自我硬重置到的提交之前。如何将这些旧提交声明为“已完成”“已处理”“不再相关”?
  • 重置后,也许在没有最新提交的分支上尝试git push -f origin master(它会强制推送你的本地重置分支)。
猜你喜欢
  • 2014-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-06
  • 2016-04-26
  • 1970-01-01
  • 2022-01-23
相关资源
最近更新 更多