如何从分支中删除除最后一个 x 之外的所有提交?
How can I remove all commits except the last x from a branch?
我需要找到一种方法来使用 Git 从分支中删除除最后(最近)159 以外的所有提交。我也很乐意创建一个新分支并将最后 159 个分支移入其中,如果这对您来说似乎是更好的方法。
有什么想法吗?我已经尝试过 this 但它似乎只允许我恢复到某个提交(这不是我想要的)。
最简单的方法是创建一个孤立分支,然后选择提交范围到新分支。
# create orphan branch
git checkout --orphan <branch>
git cherry-pick <SHA-1>...<SHA-1>
git checkout --orphan
Create a new orphan branch, named , started from and switch to it. The first commit made on this new branch will have no parents and it will be the root of a new history totally disconnected from all the other branches and commits.
如何将所需的提交添加到不同的分支中。
git cherry-pick <SHA-1>...<SHA-1>
Apply the change introduced by the commit at the tip of the master branch and create a new commit(s) with this change.
...
的语法是一个提交范围。抓取从开始(排除)到最后一个的所有提交。
读出全文git cherry-pick
documentation for all the options you can use
我需要找到一种方法来使用 Git 从分支中删除除最后(最近)159 以外的所有提交。我也很乐意创建一个新分支并将最后 159 个分支移入其中,如果这对您来说似乎是更好的方法。
有什么想法吗?我已经尝试过 this 但它似乎只允许我恢复到某个提交(这不是我想要的)。
最简单的方法是创建一个孤立分支,然后选择提交范围到新分支。
# create orphan branch
git checkout --orphan <branch>
git cherry-pick <SHA-1>...<SHA-1>
git checkout --orphan
Create a new orphan branch, named , started from and switch to it. The first commit made on this new branch will have no parents and it will be the root of a new history totally disconnected from all the other branches and commits.
如何将所需的提交添加到不同的分支中。
git cherry-pick <SHA-1>...<SHA-1>
Apply the change introduced by the commit at the tip of the master branch and create a new commit(s) with this change.
...
的语法是一个提交范围。抓取从开始(排除)到最后一个的所有提交。
读出全文git cherry-pick
documentation for all the options you can use