我应该如何定义一个别名来显示上游和本地分支之间的变化?

How should I define an alias for showing changes between upstream and local branch?

在这 2 个别名之间,我想知道哪个是最好的?

lc = "!git log origin/$(git name-rev --name-only HEAD).."
out = log @{u}..

我不是 Git 专家,我的意思是最好的,我的意思是让我少犯错误;那么哪个更通用,最适合分支等?

或者它们是完全同构的?

据我了解,您的两个别名用于打印

之间所有提交的日志
  • 当前分支(如果有)的上游(如果有)的提示
  • 当前分支的提示(如果有的话)。

在这方面,您的两个别名不是等价的命令。其实第二个别名,

out = log @{u}..

比第一个好,

lc = "!git log origin/$(git name-rev --name-only HEAD).."

为什么?因为,既然遥控器不必被称为 origin(但可以被称为 githubbitbucketplanetmars 等),硬编码 origin在第一个别名中是个坏主意。