【问题标题】:How to show a list of changed files since last commit if there was a merge?如果有合并,如何显示自上次提交以来更改的文件列表?
【发布时间】:2016-10-11 20:50:45
【问题描述】:

我一直在使用以下命令查看自上次提交以来更改的文件列表,并且大部分情况下它都有效。

git show --oneline --name-only HEAD | tail -n +2

但是,考虑一下这种情况。

存储库被克隆到两个地方。人 A 从 repo 中删除了一个名为 foo 的文件,并将他的更改推送到 repo。在那个人 b 从名为 bar 的 repo 中删除一个文件并尝试推送他的更改之后。他被告知他必须进行拉动。他做了一个拉动,他必须合并。合并后,他推动了他的更改。

上面的 git show 命令不会显示任何关于文件 foo 或 bar 的信息。我可以使用类似的命令,

git show --oneline --stat | head -n -1 | tail -n +3 | awk '{print $1}'

但这只会列出文件 foo 而不是 bar。

我可以运行什么 git 命令来显示文件栏已更改?

【问题讨论】:

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


    【解决方案1】:

    git show object 显示提交等对象。在您解释的情况下,添加两个文件并合并发生在三个单独的提交中。一个简单的查看方法是使用git log 并使用标志n 来限制先前提交的数量:

    git log --oneline --name-only -n 3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-05
      • 1970-01-01
      • 2015-05-04
      • 1970-01-01
      • 2014-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多