如何使用命令行查看最后推送的提交

时间:2015-09-18 10:39:42

标签: git

在推送我的更改之前,我一直在学习使用git rebase -i来清理我的提交。

然而,我发现我正在做git log,然后通过web gui检查远程仓库以查看哪个提交是我推送的最后一个提交,然后手动确定我的提交是如何我可以使用< / p>

git rebase -i HEAD~[amount]

当其他所有内容都可以在命令行中完成时,必须使用web gui来检查哪个提交是最后一个提交*到远程仓库

建议更好的工作流程?

* 因为重新定价的黄金法则不是将已经推送到回购的承诺重新定位

2 个答案:

答案 0 :(得分:2)

如果您执行git branch -a,则会看到其他分支名称,从remote/<remote-name>开始。那些指向所选遥控器上的分支。现在,事情是,那些可以像任何其他标签或分支名称一样使用。

例如,假设分支net设置为推送到远程origin分支network。它的名称将具有格式origin/network。要查看最后一次提交,您可以使用git show origin/network。要在提交之前重新设置所有内容,请尝试git rebase -i origin/network

答案 1 :(得分:1)

您可以使用--decorate

示例$ git log --decorate

这将告诉您哪个标记或分支在日志概述中的哪个提交。

在您的情况下,您希望寻找origin/master和/或origin/HEAD。它们默认为红色。

我总是使用此命令来获得日志历史记录的简洁易懂概述:

$ git log --decorate --branches --graph --pretty="oneline" --abbrev-commit

它有一些其他很好的参数,有助于构建清晰的概述。你不必使用它,但你可以试试。这可能非常有用,尤其是当您与具有不同历史记录的不同分支机构合作时。

在简单的场景中,它看起来像这样(在这个例子中提交消息被替换)

* 9562f31 (HEAD -> master, origin/master, origin/HEAD) Added A
* 57b2de9 Added B
* 687e7d6 Added C
* 187aac7 Added D
* 1fc4a05 Added E

在您的情况下,(origin/master, origin/HEAD会稍微向下,而masterHEAD可能位于顶部。