我想git filter-branch
对一个特定提交的所有孩子进行操作.这似乎不是一件容易的事,因为似乎没有办法告诉git rev-list
只返回特定提交的子代.使用..语法将不起作用,因为它还将包括该范围内任何合并的父提交.我在这里错过了什么吗?
澄清一下:我有一个被称为base
多次合并的分支derivative
.我想列出并最终继续运行filter-branch
它最近提交的提交.我还想在其他分支上列出类似的提交.
(简化)情况(derivative
左边的分支):
$ git rev-list --graph --oneline base derivative
* f16fd151b374b2aeec8b9247489c518a6347d001 merged in the latest from the base branch
|\
| * 564d795afb63eab4ffe758dbcd726ca8b790f9f6 spelling correction
* | 2f2ed5f1d429492e1491740e30be5a58ec20af21 snogg before flarg
|\ \
| |/
| * 0c520ea33ef57b30846b122781d41fcef5e62f9b now with added flarg
* | 5068c34c3862856f511b6b4d48f2adb766e1bde4 now with added snogg
|/
* b51f227e931f830cbda042bc372087398ae7e50d initial commit
Run Code Online (Sandbox Code Playgroud)
@ araqnid的建议似乎不起作用,除非我拙劣阅读它:
$ git rev-list --oneline derivative --not base
f16fd151b374b2aeec8b9247489c518a6347d001 …
Run Code Online (Sandbox Code Playgroud) git ×1