2015-09-18 19 views
1

在推送我的更改之前,我最近一直在学习使用git rebase -i来清理我的提交。如何使用命令行查看最后推送的是哪个提交

不过,我觉得我做的git log,然后检查通过web GUI远程回购,看看哪些承诺是最后一个我推开,然后手动工作如何我提交这是这样我就可以使用

git rebase -i HEAD~[amount] 

似乎很长篇大论有使用Web GUI来检查其提交信息的最后一个*推到远程回购所有事情都可以在命令行完成

建议一个更好的工作流程?

* 因为垫底的金科玉律是不要衍合的提交已经被推到了回购

+0

编辑标题,现在认为它更清晰。希望你不介意。 –

回答

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可能是在顶部。

2

如果你做git branch -a,你会看到额外的分支名称,从remote/<remote-name>开始。那些指向选定远程的分支。现在,事情是,那些可以像任何其他标签或分支名称一样使用。

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

相关问题