GIT:从远程分支中的第2次提交到第5次提交

时间:2017-07-07 13:14:25

标签: git version-control commit branching-and-merging git-commit

我想完全删除远程分支中的几个提交。

原因:具有唯一重要(和最新)提交的分支应该分叉,合并到另一个分支。

一旦我将分支更改为正确的分支(通过浏览器),我看到还有几个提交不在那个正确的分支中。我不需要它们。

git reset --hard HEAD~5

通过手动应用和提交我最近的更改并没有得到结果。现在还有更多的提交。

那么,什么才是正确而清晰的理论呢?

谢谢。

1 个答案:

答案 0 :(得分:1)

啊......我不太明白你想要什么。如果你想做的是从一个分支(本地或远程)的历史中“删除”一些修订,你需要做的是:

  • 获取您要删除的两个修订版本的(sha1)ID
  • 在最老的夫妻
  • 之前查看修订版
  • 在最新夫妻之前从最旧版本到最新修订版本的樱桃挑选修订版本(将丢弃最旧版本以便不会应用)
  • 从原始分支的最新到尖端的樱桃挑选修订。

所以...说远程分支是foo / bar,修订版是rev1(最旧版)和rev2版(最新版)。

你做的是:

git checkout rev1~1
git cherry-pick rev1..rev2~1
git cherry-pick rev2..foo/bar

当你到达这一点时,你可以在它上面创建一个本地分支,或者如果要替换它,只需将其推入foo / bar:

git push foo -f HEAD:bar