gpt4 book ai didi

git - 如何查看一个分支的更改是否已经在另一个分支中完成?

转载 作者:太空狗 更新时间:2023-10-29 14:28:50 26 4
gpt4 key购买 nike

我想知道我对 BranchA 的所有代码更改是否已经应用到 BranchB,无论提交 ID 是否相同或 BranchB 是否有大量额外更改

这可能吗?

例子:

 Branch A :  Commit 111... -> Add line 23
Commit 222... -> Add line 24
Branch B: Commit 333... -> Add line 23
Commit 444... -> Add line 24
Commit 555... -> Remove line 24
Commit 666... -> Add line 25
Commit 777... -> Add line 26
What I basically would like to know is whether the two changes from Branch A are already applied by other commits on Branch B.
In this case, the output I would like to see is:

- Add line 24

Why? Because this is the only change from Branch A not matching latest state of Branch B. I want to discard extra staff exclusive in Branch B (commits 666 and 777). I also want to consider latest state of Branch B, so even Branch B added at some point line 24, the latest state is removed, so that is the only differing change in regards to Branch A

当使用比较和差异时,我通常会看到 B 分支的所有额外员工,我对此不感兴趣,因为我只想知道分支 A 上下文中的差异

最佳答案

你也可以这样做:

git branch --contains BranchA

列出具有所有 BranchA 提交的所有分支。如果您在列表中找到您的 BranchB,那么您就很好。

如果有很多分支,管道到 grep :

git branch --contains BranchA | grep BranchB

评论后编辑:

如果您必须检测更改,而不管它们属于哪个提交,例如,当您重新设置或挑选一些工作时,如 kostix suggests ,你可以这样做:

git log --cherry BranchB..BranchA

但话又说回来,虽然更改的检测将发生在代码级别,但无论提交散列如何,默认情况下输出本身都会作为提交给出。要查看这些提交中的实际代码更改,您可以使用 -p 选项,并可能将其存储在文件中:

git log -p --cherry BranchB..BranchA > output.txt

关于git - 如何查看一个分支的更改是否已经在另一个分支中完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53817698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com