【问题标题】:Git - Log commits of dev except which are cherry-picked into mainGit - 记录 dev 的提交,除了那些被精心挑选到 main 中的提交
【发布时间】:2018-01-18 04:28:49
【问题描述】:

我有 devmain 分支。一些提交进入dev 分支,然后一些dev 分支提交进入main 分支。这意味着,dev 分支中的多个提交在任何给定时间都没有在main 分支中提交/挑选。

我想知道是否有一种方法可以将所有 dev 提交记录到 main 中,这些提交是新的或不是精选的。

我试过了,

$git log main..dev
$git log dev..main

但它们不符合我的目的。

【问题讨论】:

    标签: git version-control git-merge git-log


    【解决方案1】:

    您可以在 dev 分支上的 main 上的 repo 的本地克隆中重新设置基准:任何已经精心挑选的提交将不会main 上重放。

    或者,更简单:

    git cherry -v main dev
    

    这将显示dev 中包含的所有提交,但 包含在main 中。
    请参阅“Git log to get commits only for a specific branch”。

    【讨论】:

    • 我在记录时准备了一个带有 --pretty 选项的列表,但cherry 没有这样的选项。 :( 有什么解决方法吗。谢谢你的帮助。
    • @SazzadHissainKhan 您可以将git cherry 命令的结果通过管道传输到git log -1,以便根据需要显示找到的每个提交。
    • 非常感谢@VonC​​pan>
    • 我看到 git log 没有从标准输入 (stackoverflow.com/a/37325995/1084174) 读取。我无法通过管道进入git log。即使使用xargs 也不起作用。 git cherry main dev | grep ^- | tr -d "-" | xargs git log -1 它总是显示最后一次提交。我该如何解决?
    • @SazzadHissainKhan 我明白了。然而,这可以编写脚本,并部署为开发人员使用的命令。
    猜你喜欢
    • 2012-07-28
    • 2014-10-04
    • 2012-04-08
    • 2019-04-04
    • 1970-01-01
    • 2014-11-21
    • 2021-01-18
    • 1970-01-01
    • 2021-07-05
    相关资源
    最近更新 更多