【问题标题】:What does 'git merge' with no arguments do?没有参数的“git merge”有什么作用?
【发布时间】:2017-01-23 02:47:12
【问题描述】:

我见过人们这样做

git merge

即使用不带参数的“git merge”。看起来它可能会做一些有用的事情。但是我在 git-scm.com 上找不到这种情况的文档。

“git merge”在这种情况下做了什么?

【问题讨论】:

  • 这是一笔交易......

标签: git


【解决方案1】:

它会尝试合并其上游分支 (git merge)

如果没有从命令行给出提交,则合并当前分支配置为用作其上游的远程跟踪分支。

所以检查一下,看看一个分支是否有与之关联的上游仓库:

git config remote.$(git config branch.$(git symbolic-ref --short HEAD).remote).url

这个用途:


对于 Windows,crashneb 建议在 the comments

for /f %b in ('git symbolic-ref --short HEAD') do \
  @(for /f %r in ('git config branch.%b.remote') do \
    @(git config remote.%r.url))

【讨论】:

  • 啊啊啊啊啊啊。它记录在案,只是在一个完全不直观的地方。我正在搜索“描述”部分,理由是“无参数”与“指定的一个或多个提交”是根本不同的调用。但它实际上记录在 '' 参数下。文档可以改进 IMO
  • 以防万一有人想要一个像上面那样将它们链接在一起的“windows cmd”版本:for /f %b in ('git symbolic-ref --short HEAD') do @(for /f %r in ('git config branch.%b.remote') do @(git config remote.%r.url))(尽管即使在 Windows 上,上面的 bash 语法也可以作为 中的别名使用.gitconfig 文件)
  • @CrashNeb 谢谢。我已将您的评论包含在答案中以提高知名度。
猜你喜欢
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
  • 2014-06-29
  • 2013-05-15
  • 2021-03-19
  • 2016-11-10
  • 2012-07-29
相关资源
最近更新 更多