Git合并和历史记录更改

时间:2017-09-04 07:35:20

标签: git github merge rebase

这些是我们目前的分支机构:

  • 分期
  • 特征

现在feature是从分期中诞生的,并且在整个过程中有许多提交,其中有一些来自分段和掌握。

但是当feature从分期出生时。 staging有几个提交,后来被删除了......

即:

staging: a->b->c->d->e
feature: a->b->c->d->e->f->h->i->j...

但过了一段时间,有人从暂存历史中删除了提交 所以现在这是状态

staging: c->d->e
feature: a->b->c->d->e->f->h->i->j...

但更糟糕的是,有更多提交暂存,后来被合并到功能

staging: c->d->e->s1->s2->s3
feature: a->b->c->d->e->f->h->i->j->s1->s2->s3->f1->f2

如何在featurestaging的提交中获取差异?

因为我跑

git show-branch feature staging

我什么都没得到,因为staging被合并到了功能

2 个答案:

答案 0 :(得分:0)

如果您在功能分支中,则可以执行

git diff feature staging

这将显示从功能到分段的所有区别。您也可以对主分支执行此操作。

但是,如果您希望以更直观的方式查看差异,我建议使用SourceTree或IntelliJ IDE应用程序来获得与终端相比更好的视觉效果。

如果您想查看以前提交的列表,也可以在功能分支中执行git log

答案 1 :(得分:0)

git log staging..feature
git log staging...feature

请参阅https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html上的文档,了解.....语法的说明。

https://git-scm.com/docs/gitrevisions#gitrevisions-Theememtwo-dotRangeNotation