Git - 如何在使用 "git cherry" 时过滤提交

Git - How to filter commits while using "git cherry"

我想知道是否有一种方法可以在我们使用时仅过滤要应用的提交,

git cherry dev

换句话说,假设上面的命令产生下面的输出,

- 33d5713b613f56938f23f8f61c55e63c34a92720
+ fe77980a11d85ee3a14d45274b0b6db4af8b6574
- 8e642df428532339adee523234da3ce6c1def989
+ 0a747f984d3244e9b5f1b6922d77b0ea5c34f9e0
- 0e3a730cd57bd6898fd444c75bf802c0cbf8000a
+ 40f157ad996bc15b46aa0f25db4f1c4fa3bf3e29

但我只想看到如下所示的输出,

+ fe77980a11d85ee3a14d45274b0b6db4af8b6574
+ 0a747f984d3244e9b5f1b6922d77b0ea5c34f9e0
+ 40f157ad996bc15b46aa0f25db4f1c4fa3bf3e29

+ sign 开头。

加上| grep ^+.

git cherry dev | grep ^+

grep ^+ 表示 "to match the lines that start with the symbol +".

如果您想删除 +/-,有很多解决方案。这是其中的一些。

git cherry dev | grep ^+ | awk '{print $NF}'
git cherry dev | grep ^+ | awk '{print }'
git cherry dev | grep ^+ | cut -d' ' -f2
git cherry dev | grep ^+ | sed "s/+ //"
git cherry dev | grep ^+ | tr -d "+ "