gpt4 book ai didi

git - 如何查看作者的所有代码更改?

转载 作者:行者123 更新时间:2023-12-04 02:05:55 28 4
gpt4 key购买 nike

例如,我有一个这样的项目

[ID]--[Date]-------[Commit message]-------[Author]

[5]--[Today]-------[Update Feature A]-----[Michael]

[4]--[Yesterday]---[Add Feature Y]--------[Tom]

[3]--[1 day ago]---[Add Feature X]--------[Dick]

[2]--[2 days ago]--[Add feature A]--------[Michael]

[1]--[3 days ago]--[First commit]---------[Michael]

我正在使用 Git 扩展,但找不到仅按作者 Michael 查看差异的方法。

例如,我只想查看功能 A 的更改代码,当我单击提交 1 和 2 时,我可以看到这些提交之间的差异。但是当我过滤作者 [Michael] 并单击 1 和 5 时,我希望只看到作者 [Michael] 的所有差异 - 但 [Tom] 和 [Dick] 也有差异。

有什么方法可以查看作者的所有代码更改吗?我不在乎我使用哪种工具(如 SourceTree、Git Extensions 等)

最佳答案

您可以使用 git log --author=<pattern> 查看特定作者的所有提交其中模式是一个正则表达式。

但是您似乎想要在仅由某个作者完成的更改提交之间进行差异,而忽略之间的提交。这违背了 Git 的本性。从概念上讲,Git 提交不是差异。相反,每次提交都是提交时所有文件状态的完整快照。您不能在忽略 2、3 和 4 的同时取 1 和 5 之间的差异,因为 5 是 1、2、3 和 4 的顶点。

您可以 cherry pick 1 和 5 进入一个临时分支(并处理所有冲突),但我相信您正在尝试解决错误的问题。您有一个 XY Problem .您真正想要的是查看“功能 A”上的所有更改。在这种情况下,它们碰巧由一个作者完成,但情况并非总是如此。

相反,您想要的是将您的功能组织到单独的分支中,恰本地命名为“功能分支”或“主题分支”。每个功能一个分支。直到功能是 才会 merge 分支完成 然后它被删除。这是允许多人处理多个功能的基本方式,而不会过早地共享未完成的工作并妨碍彼此。

然后,当您只想查看功能 A 的更改时,您可以查看功能 A 的分支,无论是谁开发了该功能。

您可以阅读更多关于 Branching Workflows in the Pro Git book .

关于git - 如何查看作者的所有代码更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43463445/

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