对于一个网站,我有主人和舞台,我已经进行了大约10天的舞台演出.我如何确定自上次合并以来或者合并时发生的变化?我所做的大多数合并最终都是FF,因此我无法记录它们git merge branch -m 'merging staging'(git报告它忽略了-m).我通常将master合并到staging中进行测试,然后将staging合并到master中以进行更多测试和部署.
我可以标记每一个,但我担心这样做对于合并的混乱.我想知道的是"粗略地说,自从我上一次合并到主人之后发生了什么变化?" 然后我可以确保我花了额外的时间在期末考试中调查这些变化.有时同事会做出我直到这个阶段才注意到的变化.
我想,因为staging-> into-> master merges很少见,我可以标记它们然后做一个"git whatchanged tag"但是我希望有一个非标记的方法来做它.谢谢.
ale*_*lex 16
试试这个,它将选择提交消息以"Merge"开头的最后一个分支:
git show :/^Merge
Run Code Online (Sandbox Code Playgroud)
这是一个包含一些git技巧的网站,可能对你有所帮助.
Raz*_*ssa 16
git log --merges -n 1
Run Code Online (Sandbox Code Playgroud)
效果很好.来自man git-log:
--merges
Print only merge commits. This is exactly the same as --min-parents=2.
Run Code Online (Sandbox Code Playgroud)
这是一个--pretty=format:"%H"用于获取SHA 的示例.
$ git log --pretty=format:"%H" --merges -n 1
f32e1f13eef7d5843e8063b8709d01af6dcd5dbf
Run Code Online (Sandbox Code Playgroud)
一种不依赖于提交消息内容的替代方案:
$ git rev-list --min-parents=2 --max-count=1 HEAD
9c6e6d6b6b9bd293335700e34e05217ae8e7a7e8
Run Code Online (Sandbox Code Playgroud)
--min-parents=2仅选择合并的提交,--max-count=1仅在历史记录中返回时显示第一个提交.如果指定的commit(HEAD)在其历史记录中没有任何合并提交,则输出将为空.
| 归档时间: |
|
| 查看次数: |
13535 次 |
| 最近记录: |