我正在将git用于我的项目,并尝试遵循最佳实践:

  1. 我从事 主题分支
  2. 准备好后,我合并 主题分支 进入我的 开发 分支使用 git merge --squash. 。这保持了我的 开发 分支清洁。
  3. 每当 开发 分支是稳定的,团队决定该发布的时间,我们合并 开发 分支进入 掌握 分支, 没有 使用南瓜,并将其标记为版本版本。

这应该保留我们的历史,并使用吉特,我们可以看到所有提交的进来。但是,我希望能够看到 只要 适用于 掌握 分支。我努力了:

git log master
git show-branch

这些都没有 只是 历史 掌握 分支。有没有办法轻松执行此操作?

有帮助吗?

解决方案

如果我正确理解您,您希望将合并回到主人,而不是这些合并的历史。我相信:

git log --merges

会给你想要的东西。

更新:添加 - 第一父母应该从声音中解决此问题。

git log --merges --first-parent

- 第一个父母

Follow only the first parent commit upon seeing a merge commit.

在查看特定主题分支的演变时,此选项可以提供更好的概述,因为合并到主题分支机构中倾向于不时调整到上游的更新,此选项使您可以忽略带来的个人提交您的历史通过这种合并。

其他提示

不幸的是,GIT不会存储提交的分支信息,并且提交不属于分支。 GIT中的分支只是在提交过程中“移动标签”,而不是人们期望的提交序列。

因此,基本上,您无法显示属于分支机构的承诺,因为Git中没有这样的概念。

由于GIT没有存储有关哪个分支的信息,因此没有自动方法可以猜测您可能想显示哪个分支。

在这方面, --first-parent 最终不会提供帮助,尤其是因为拥有多个主人很容易。考虑:

wc1$ git clone git://shared.com/repo
wc1$ (hack code, git commit)
wc2$ git clone git://shared.com/repo
wc2$ (hack code, git commit, git push somewhere)
wc1$ git fetch origin; git merge origin/master; git push somewhere master;

(随意进行一个随机的项目并进行此练习。)绘制它。因此,即使将其标记为用它们制作的分支的名称(因为两者都是主人)的名称,您也无法有意义地绘制“仅一个分支”。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top