【问题标题】:git: how to see changes due to push?git:如何查看由于推送而发生的变化?
【发布时间】:2011-01-17 23:37:43
【问题描述】:

我不太清楚如何通过“推送”查看远程存储库中到底发生了什么变化。 “git log”向我显示了一系列提交,但这些提交发生在我的本地存储库中,并且在不同时间被推送;我想知道哪些提交是每个特定“推送”的一部分

【问题讨论】:

    标签: git git-push git-log


    【解决方案1】:

    实际上,您可以从 reflog 中找出这些信息。这不是远程存储库的完整历史记录,而是远程存储库分支副本的历史记录。因此,您不会看到其他人对远程存储库所做的更改。它不漂亮,但您可能可以编写一个脚本使其更容易。

    例如:

    $ git reflog show origin/master
    ca4f119 refs/remotes/origin/master@{0}: pull --rebase: fast-forward
    d303ece refs/remotes/origin/master@{1}: pull --rebase: fast-forward
    ce28c26 refs/remotes/origin/master@{2}: pull --rebase: fast-forward
    0f71883 refs/remotes/origin/master@{3}: pull --rebase: fast-forward
    8c2f0dd refs/remotes/origin/master@{4}: pull --rebase: fast forward
    2958d6c refs/remotes/origin/master@{5}: update by push
    6e9558c refs/remotes/origin/master@{6}: pull --rebase: fast-forward
    8854b35 refs/remotes/origin/master@{7}: pull --rebase: fast-forward
    b96f25d refs/remotes/origin/master@{8}: pull --rebase: fast-forward
    efb0ab8 refs/remotes/origin/master@{9}: pull --rebase: fast-forward
    71c12ca refs/remotes/origin/master@{10}: pull --rebase: fast-forward
    d860e59 refs/remotes/origin/master@{11}: update by push
    6342dbb refs/remotes/origin/master@{12}: fetch: fast-forward
    ...
    

    你可以在这里看到我最近推送的origin/master6e9558c2958d6c。要查看提交,您可以使用git log 6e9558c..2958d6c。例如,

    $ git log --abbrev-commit --pretty=oneline 6e9558c..2958d6c
    2958d6c Commit Summary 4
    5cbe548 Commit Summary 3
    13d007c Commit Summary 2
    4f19ac3 Commit Summary 1
    

    如果您有远程存储库的终端访问权限,您可以在该端执行类似的操作以查看它收到的所有推送。

    【讨论】:

    • 是否可以获取带时间戳的日志?
    • @user,你的意思是像:git reflog show origin/master --date=iso
    【解决方案2】:

    Git 不会跟踪哪些提交是哪些“推送”操作的一部分;存储库要么包含特定的提交序列,要么不包含。对于 Git 来说,提交是如何到达那里并不重要,一组三个提交是一次推送的一部分,还是每个提交都是在单独的推送中完成的。

    【讨论】:

    • 这不是真的——reflog 会记住每个分支提示的所有更改。多个提交的推送将在 reflog 中显示为单个更改。请参阅下面的答案。
    • 确实如此,但 reflog 实际上并不是存储库的一部分。特别是,如果没有直接的存储库访问权限,您将无法查看远程 reflog(例如,您无法在 Github 上查看存储库的 reflog)。
    • 是的,但 Github 通过他们的 API 公开了类似的东西:objectpartners.com/2014/02/11/…
    猜你喜欢
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    • 2012-07-02
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多