我如何知道对分支所做的最新更改是啥?

Posted

技术标签:

【中文标题】我如何知道对分支所做的最新更改是啥?【英文标题】:How can I know what was the latest changes made to a branch?我如何知道对分支所做的最新更改是什么? 【发布时间】:2011-04-14 06:11:24 【问题描述】:

git 版本 1.7.4.4

我正在开发团队的一个新项目。

所以我刚刚克隆了这个项目。该项目有5个分支。

我需要知道对哪个分支进行了最新更改。所以我可以开始在那个分支上工作,因为它会有最新的变化。

我查看了日志。但是,但这并不能告诉我将这些提交分支到哪里。

非常感谢您的任何建议,

【问题讨论】:

这不是你的答案:只是如果你使用的是linux/unix,我建议你看gitg,它可以帮助你很多次。 我使用的是 Linux。任何其他操作系统都只是浪费时间。谢谢。 【参考方案1】:

git log --decorate 会为每一行添加标签和分支。

--decorate[=short|full|no]

打印显示的任何提交的引用名称。 如果指定了short,则不会打印引用名称前缀refs/heads/refs/tags/refs/remotes/。 如果指定了full,将打印完整的引用名称(包括前缀)。 默认选项是short

【讨论】:

虽然这是解决您的问题的方法,但我认真地认为您应该依靠与您的团队沟通(我们在哪里工作,哪个分支被推出生产等),而不是仅仅选择最前沿的分支并开始在那里工作。这表明存在更深层次的问题。【参考方案2】:

您可以使用git for-each-ref 获取按这些分支的最后一次提交日期排序的分支列表,例如:

git fetch origin # Update all your remote tracking branches from origin

git for-each-ref --sort=committerdate refs/remotes/origin/

最后列出的分支在其提示处有最近的提交。 (对于生成相关日期以及分支名称的脚本,您可以look here。)

【讨论】:

获得正确分支的更精确的方法。 +1。如果你问我,应该是官方答案。

以上是关于我如何知道对分支所做的最新更改是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Git:仅合并在分支上所做的更改

显示直接提交到分支的提交,忽略 Git 中的合并

如何运行 git log 以仅查看特定分支的更改?

如何移动我的 GitHub 分支,然后在当前的 master 上工作?

git merge master branch来发布分支问题

如何找到我从分支合并的最后一个修订?